www.polishtrains.eu Open in urlscan Pro
52.58.79.150  Public Scan

Submitted URL: http://polishtrains.eu/
Effective URL: https://www.polishtrains.eu/
Submission: On February 12 via api from US — Scanned from DE

Form analysis 5 forms found in the DOM

POST

<form method="post" class="login_user_form password-fields" autocomplete="off">
  <div class="input-field login register">
    <label for="login_email">Email address</label>
    <input type="email" name="irs_email" id="login_email" tabindex="0" required="">
    <div class="input-error"><span>Please correct Email address</span></div>
  </div>
  <div class="input-field form-group login register reset_password">
    <label for="login_password">Password</label>
    <div class="eye-box">
      <input type="password" name="irs_password" id="login_password" autocomplete="off" tabindex="0" required="">
      <div class="password-eye">
        <img src="https://cdn.polishtrains.eu/public/train/img/icon/eye_open.svg" alt="Open eye icon" class="eye-visible none" loading="lazy">
        <img src="https://cdn.polishtrains.eu/public/train/img/icon/eye_closed.svg" alt="Closed eye icon" class="eye-hidden" loading="lazy">
      </div>
    </div>
    <div class="input-error">
      <span> The password must meet at least 3 of 4 criteria: <ul class="disc-list">
          <li>Between 8 to 30 characters (required)</li>
          <li>Uppercase and lowercase letters</li>
          <li>Special signs</li>
          <li>Numbers</li>
        </ul>
      </span>
    </div>
    <div class="forgot_password light_blue" role="button" tabindex="0">Forgot your password?</div>
  </div>
  <div class="input-field login" id="twoFaGroup" style="display: none">
    <label for="login_twofa">2FA code</label>
    <input type="text" name="irs_twofa" id="login_twofa" tabindex="0" class="twofa-input" style="border: solid 2px #f48813;">
  </div>
  <div class="input-field form-group register reset_password none">
    <label for="login_password_repeat">Repeat password</label>
    <input type="password" name="irs_password_repeat" id="login_password_repeat" autocomplete="off" class="login_password_repeat" tabindex="0" required="">
    <div class="input-error">
      <span> Passwords should match </span>
    </div>
  </div>
  <input type="hidden" name="action" class="action" value="login" data-login="login" data-register="register" data-reset-password="reset_password">
  <input type="hidden" name="afid" value="polishtrains">
  <input type="hidden" name="aver" value="en">
  <input type="hidden" name="login_recap" class="recaptcha">
  <div class="input-field register accept-terms none">
    <input type="checkbox" id="checkbox_terms_login" class="checkbox-hidden fl-l" style="margin-left: 0; font-size: 12px;" required="">
    <label for="checkbox_terms_login" style="float: left; margin-bottom: 0;" class="fl-l checkbox-label">
      <span class="box terms-checkbox-state" style="margin: 0 2px 0 0" role="button" tabindex="0"></span> I accept <a style="color: #337ab7; text-decoration: underline;" href="/terms">terms and conditions </a> and
      <a style="color: #337ab7; text-decoration: underline;" href="/privacy-policy">privacy policy</a>
    </label>
    <div class="input-error" style="clear: both;">
      <span> This field is required </span>
    </div>
  </div>
</form>

POST

<form method="post" class="fb_login_form">
  <input type="hidden" name="action" class="action" value="fb_login" data-login="fb_login" data-register="fb_register">
  <input type="hidden" name="afid" value="polishtrains">
  <input type="hidden" name="aver" value="en">
  <input type="hidden" name="app_id" class="app_id" value="1753930701648150">
  <input type="hidden" name="fb_email" class="fb_email" value="">
  <input type="hidden" name="fb_id" class="fb_token_for_business" value="">
  <input type="hidden" name="fb_user_id" class="fb_id" value="">
  <input type="hidden" name="fb_first_name" class="fb_first_name" value="">
  <input type="hidden" name="fb_last_name" class="fb_last_name" value="">
  <input type="hidden" name="fb_gender" class="fb_gender" value="">
  <input type="hidden" name="login_recap" class="recaptcha">
</form>

POST

<form method="post" class="reset_password_form" autocomplete="off">
  <p class="text-center login-form-title reset_password">Forgot your password?</p>
  <p class="forgot_password_description">Enter your email address associated with the account. We will send you a link to reset your current password.</p>
  <div class="input-field">
    <label for="reg_email">Email address</label>
    <input type="email" name="irs_email" id="reg_email" class="" required="">
    <div class="input-error"><span>Please correct Email address</span></div>
  </div>
  <input type="hidden" name="action" class="action" value="reset_password">
  <input type="hidden" name="afid" value="polishtrains">
  <input type="hidden" name="aver" value="en">
  <input type="hidden" name="reset_psw_recap" class="recaptcha">
  <div class="submit_btn_wrap">
    <div class="cancel_btn cancel_btn--reset_password" data-form="reset_password_form" role="button" tabindex="0"> Cancel </div>
    <div class="submit_btn submit_btn--reset_password reset_password" data-form="reset_password_form" role="button" tabindex="0"> Password&nbsp;reset </div>
  </div>
</form>

POST

<form method="post" class="client_logged_in">
  <input type="hidden" name="action" value="regular_client_history">
  <input type="hidden" name="afid" value="polishtrains">
  <input type="hidden" name="aver" value="en">
  <input type="hidden" name="step" value="115">
  <input type="hidden" name="mod" value="0">
  <input type="hidden" name="session_id" value="a7b7bd7777b393177e3c803631b667a51707727939.6232">
</form>

POST results

<form action="results" method="post" class="app" id="sidebar-search" target="_self">
  <div data-user="qsf-info" data-station-from="" data-city-from="Warszawa" data-station-to="" data-city-to="Kraków" data-code-from="PLWAR" data-code-to="PLKRA" data-date-from="2024-02-12" data-date-to="" data-paxes="ADT" style="display: none;"></div>
  <div class="search_form_wrapper">
    <div class="app__wrapper flexbox">
      <div class="app__from tab-link-outline">
        <input type="text" name="code_from" id="code_from" value="PLWAR" class="validate[cityhelper]" style="visibility:hidden; position:absolute;">
        <input type="hidden" name="code_from_type" id="code_from_type" value="city">
        <input type="hidden" name="code_from_country" id="code_from_country" value="PL">
        <label>From <input type="text" class="cityhelper data-hj-whitelist validate[required] tab-link-outline ui-autocomplete-input" data-target-code="code_from" data-target-code-type="code_from_type" data-target-country="code_from_country"
            name="name_from" id="input_name_from" value="Warszawa" placeholder="Enter the city or train station" autocomplete="off">
          <span class="removeX direction"></span>
        </label>
        <input type="hidden" name="name_from_hidden" id="input_name_from_hidden" value="Warszawa">
        <div class="warning" id="no-city-warning">
          <div>
            <span class="text-center">No connection from the selected city. Change the place of departure.</span>
          </div>
        </div>
      </div> <!-- /.app__from -->
      <div class="change_direction_btn">
        <div class="direction_arrow direction_arrow_right"></div>
        <div class="direction_arrow direction_arrow_left"></div>
      </div> <!-- /.app__from -->
      <div class="app__to">
        <input type="text" name="code_to" id="code_to" value="PLKRA" class="validate[cityhelper]" style="visibility:hidden; position:absolute;">
        <input type="hidden" name="code_to_type" id="code_to_type" value="city">
        <input type="hidden" name="code_to_country" id="code_to_country" value="PL">
        <label>To <input tabindex="0" type="text" class="cityhelper data-hj-whitelist validate[required] ui-autocomplete-input" data-target-code="code_to" data-target-code-type="code_to_type" data-target-country="code_to_country" name="name_to"
            id="input_name_to" value="Kraków" placeholder="Enter the city or train station" autocomplete="off">
          <span class="removeX direction"></span>
        </label>
        <input type="hidden" name="name_to_hidden" id="input_name_to_hidden" value="Kraków">
        <input type="hidden" name="amount_adults_hidden" id="amount_adults_n" value="1">
        <input type="hidden" name="amount_childs_hidden" id="amount_childs_n" value="0">
        <div class="warning" id="invalid-station-warning">
          <div>
            <span class="text-center">Change the departure or arrival station.</span>
          </div>
        </div>
        <div class="warning" id="no-city-warning">
          <div>
            <span class="text-center">No connection to the selected city. Change the place of arrival.</span>
          </div>
        </div>
      </div> <!-- /.app__to -->
      <div class="calendar flexbox">
        <div class="wrap_date_from">
          <label class="app__date-label"> Departing <input type="text" autocomplete="off" readonly="" style="cursor: pointer; text-transform: none;" id="date_from_alt"
              data-datepicker-options="{&quot;minDate&quot;: &quot;+1D&quot;,&quot;maxDate&quot;: &quot;+180D&quot;}" name="date_from_alt" class="app__date validate[required] datepicker date_from_alt date_custom_alt_input hasDatepicker"
              value="Mon 12 Feb">
            <input type="text" class="date_custom_input date_from_custom" value="Today, Mon 12 Feb" data-today="Today" data-tomorrow="Tomorrow">
            <input type="hidden" name="date_from" id="date_from" class="app__date validate[required] datepicker date_from_main hasDatepicker" value="2024-02-12">
          </label>
          <input class="apse-input" type="hidden" name="time_from" value="0600-0800">
        </div>
        <div class="wrap_date_to">
          <label id="return" class="app__date-label active">Return <span class="app__return">
              <input type="text" style="cursor: pointer; text-transform: none;" autocomplete="off" readonly="" id="date_to_alt" data-datepicker-options="{&quot;minDate&quot;: &quot;+1D&quot;,&quot;maxDate&quot;: &quot;+180D&quot;}" name="date_to_alt"
                class="app__date datepicker date_to_alt date_custom_alt_input hasDatepicker" value="" placeholder="Add">
              <input type="text" class="date_custom_input date_to_custom" value="" placeholder="Add" data-today="Today" data-tomorrow="Tomorrow">
              <span class="removeX date "></span>
              <span class="plusSign" tabindex="0">+</span>
              <input type="hidden" name="date_to" id="date_to" class="app__date datepicker date_to_main hasDatepicker" value="">
            </span>
            <input class="apse-input" type="hidden" name="time_to" value="1800-2000">
          </label>
          <div class="warning" id="invalid-date-to-warning">
            <div>
              <span class="text-center">Return date cannot be earlier than departure date.</span>
            </div>
          </div>
        </div>
        <div class="warning " id="invalid-date-to-pkp-warning">
          <div>
            <span class="text-center">Change the date. Booking tickets for Polish connections available only 30 days ahead.</span>
          </div>
        </div>
      </div> <!-- /.calendar -->
      <div class="details flexbox">
        <div class="passengers__wrap" tabindex="0">Passengers&nbsp;/&nbsp;Discounts <div class="custom-dropdown">
            <div class="toggle">
              <span class="passengers-quantity" data-multiple="passengers" data-single="passenger">1</span>
              <span class="passengers-title" style="min-width: 72px;">passenger</span>
            </div>
            <ul class="wraper">
              <li class="title">Choose</li>
              <li class="warning">
                <div>
                  <div class="warning_text passanger_zero" style="display: none;">Select at least one passenger.</div>
                  <div class="warning_text age_zero" style="display: none;">Select the child's age.</div>
                  <div class="warning_text babies_only" style="display: none;"> Also choose another type of passenger.<br>Infants can not travel alone.</div>
                  <div class="warning_text passanger_PKP_more_than_X" style="display: none;"> A single ticket can be issued for up to 6 passengers . For larger groups, we recommend dividing them into two or more tickets or in the case of groups of at
                    least 11 people choosing a <a href="group-train-tickets" style="text-decoration: underline;color: #eaeaea;">group ticket</a>
                  </div>
                  <div class="warning_text passanger_trainline_more5" style="display: none;">Change the number of passengers. It cannot be greater than 5 in Europe.</div>
                  <div class="warning_text warning_students" style="display: none;">The selected tariff is valid only for trains within Poland. For the student, select the tariff "Children/Teenagers" (4-23 years) or Normal tariff</div>
                  <div class="warning_text warning_phd_students" style="display: none;">The selected tariff is valid only for trains within Poland.For the PhD student, select the Normal tariff</div>
                  <div class="warning_text warning_disabled_childs" style="display: none;">The selected tariff is valid only for trains within Poland. For a disabled traveler, choose one of the following tariffs by choosing the age of "Normal Tariff"
                    (24-60 years), "Children/Teenagers" (4-23 years), "Children under 4" (0-3 years), respectively or "Senior" (60+ years)</div>
                  <div class="warning_text warning_disabled_guardians" style="display: none;">The selected tariff is valid only for trains within Poland. For a disabled's guardians, choose one of the following tariffs by choosing the age of "Normal
                    Tariff" (24-60 years), "Children/Teenagers" (4-23 years), "Children under 4" (0-3 years), respectively or "Senior" (60+ years)</div>
                  <div class="warning_text warning_family_ticket" style="display: none;">Change the number of passengers. To take advantage of the Family Ticket offer, choose between 2 and 5 passengers, including one child under 16 years of age. If
                    the child does not have a student ticket needed to choose a discount fare, please choose <strong>an adult fare</strong>.</div>
                  <div class="warning_text warning_family_ticket_aboard" style="display: none;"></div>
                  <div class="warning_text warning_large_family" style="display: none;">Change the number of passengers. To take advantage of the Large Family Card offer, a minimum of 2 people with a Large Family Card offer must be present during the
                    journey.</div>
                  <div class="warning_text warning_large_family_abroad" style="display: none;"></div>
                  <div class="warning_text passanger_PKP_discounts_more3" style="display: none;">For one ticket, you can choose up to 3 different discounts.</div>
                  <div class="warning_text passanger_PKP_discounts_family_more2" style="display: none;">For a family ticket, you can choose up to 2 different discounts.</div>
                  <div class="warning_text passanger_refund_same_passengers_amount" style="display: none;">The number of passengers must be the same.</div>
                  <div class="warning_text warning_cheaper_with_relatives_date" style="display: none;">Change the date. The purchase of a ticket under the discount "Cheaper with Closest" is possible at least 3 days before departure.</div>
                  <div class="warning_text warning_cheaper_with_relatives_passengers" style="display: none;">Change the number of people. To take advantage of the offer "Cheaper with Closest", select from 2 to 6 people.</div>
                  <div class="warning_text warning_cheaper_with_relatives_discounts" style="display: none;">In the case of the "Cheaper with Closest" promotion, you can choose up to 2 types of discounts.</div>
                  <div class="warning_text guide_only" style="display: none;">Change the number of people. To take advantage of the "A war veteran`s guide of the severely disabled person" discount, select an additional discounted ticket: "War or
                    army-disabled men" or "Combatants"</div>
                  <div class="warning_text guardian_only" style="display: none;">Change the number of people. To take advantage of the "Guide / Guardian of a person with an inability to independent existence" discount, select an additional ticket
                    with a discount: "Blind victims of war activites (civilians)", "Blind capable of independent existence", "Persons with an inability to independent existence "or" Blind people with an inability to independent existence "</div>
                  <div class="warning_text abroad_no_adults" style="display: none;">Children under the age of 12 cannot travel alone. Select at least 1 adult with a regular ticket.</div>
                </div>
              </li><!-- /.warning -->
              <li class="discount_wrap adults_n">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Normal fares</div>
                  <div class="passanger_age">
                    <span class="passenger_title">Travelers without upgrades</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="adults_n">
                  <div class="minus main change_number_btn"><span>–</span></div>
                  <div class="amount amount_adults_n">1</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="discount_info">
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_wrap childs_n">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Child / Youth</div>
                  <div class="passanger_age">
                    <span class="passenger_title"><strong>DISCOUNT 37%</strong> Children and youth aged 4 to 24 with a Polish school ID</span>
                    <span class="read_more">Read more</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="childs_n">
                  <div class="minus main change_number_btn disabled"><span>–</span></div>
                  <div class="amount amount_childs_n">0</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="discount_info">
                  <div class="discount_text">
                    <ul>
                      <li>For a concessionary fare for children and young people, a document confirming entitlement to a discount is required - Polish school ID</li>
                      <li>Adolescents and children over 7 years of age who do not have an appropriate document during travel must travel with a standard adult ticket</li>
                      <li>Discounts for children and adolescents on express trains (EIC, EC, and EIP) are valid only in second class (II)</li>
                    </ul>
                  </div>
                  <div class="close_discount_info">Hide</div>
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_wrap students_n">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Students</div>
                  <div class="passanger_age">
                    <span class="passenger_title"><strong>DISCOUNT 51%</strong>Students up to the age of 26 with a Polish student card or international ISIC student card, together with a document confirming the right to permanent residence in
                      Poland</span>
                    <span class="read_more">Read more</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="students_n">
                  <div class="minus main change_number_btn disabled"><span>–</span></div>
                  <div class="amount amount_students_n">0</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="discount_info">
                  <div class="discount_text">
                    <div>For a concessionary fare for students, a document confirming entitlement to a discount is required:</div>
                    <ul>
                      <li><strong>Polish citizens</strong> - student ID issued by a Polish university, together with a personal ID or other document confirming their age</li>
                      <li><strong>UE citizens</strong> - a student card issued by a Polish university or an ISIC international student card, together with a document confirming the right of permanent residence in Poland and a personal ID card.</li>
                    </ul>
                  </div>
                  <div class="close_discount_info">Hide</div>
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_wrap src_n">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Seniors</div>
                  <div class="passanger_age">
                    <span class="passenger_title"><strong>DISCOUNT 30%</strong> Seniors over 60 years old</span>
                    <span class="read_more">Read more</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="src_n">
                  <div class="minus main change_number_btn disabled"><span>–</span></div>
                  <div class="amount amount_src_n">0</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="discount_info">
                  <div class="discount_text">
                    <div>The system may allocate a more advantageous offer if available at the time of booking</div>
                  </div>
                  <div class="close_discount_info">Hide</div>
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_wrap babys_n" style="display:none">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Children up to 4 years old</div>
                  <div class="passanger_age">
                    <span class="passenger_title"><strong>DISCOUNT 100%</strong> Infants and children up to 4 years of age</span>
                    <span class="read_more">Read more</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="babys_n">
                  <div class="minus main change_number_btn disabled"><span>–</span></div>
                  <div class="amount amount_babys_n">0</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="discount_info">
                  <div class="discount_text">
                    <ul>
                      <li>Maximum of three tickets per transaction.</li>
                      <li>The seat for a ticket with this discount is automatically allocated in the vicinity of the previously purchased basic ticket. Reservations cannot be made if there is no space available nearby.</li>
                    </ul>
                  </div>
                  <div class="close_discount_info">Hide</div>
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_wrap tl_adults_n" style="display:none">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Normal fares</div>
                  <div class="passanger_age">
                    <span class="passenger_title">Travelers without discounts</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="tl_adults_n">
                  <div class="minus main change_number_btn disabled"><span>–</span></div>
                  <div class="amount amount_tl_adults_n">0</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="discount_info">
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_wrap tl_childs_n" style="display:none">
                <div class="toggle_discount_info">
                  <div class="passanger_type">Child / Youth</div>
                  <div class="passanger_age">
                    <span class="passenger_title">Children and teenagers up to 25 years old</span>
                  </div>
                </div>
                <div class="change_number" data-passenger-type="tl_childs_n">
                  <div class="minus main change_number_btn disabled"><span>–</span></div>
                  <div class="amount amount_tl_childs_n">0</div>
                  <div class="plus main change_number_btn"><span>+</span></div>
                </div>
                <div class="children_details">
                  <div class="details-youth" style="display: none;" data-agetitle="Age">
                    <ul class="apac-details-list flexbox">
                      <li style="display: none;">
                        <select></select>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat1" type="hidden" name="childs_age[1]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat1">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat2" type="hidden" name="childs_age[2]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat2">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat3" type="hidden" name="childs_age[3]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat3">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat4" type="hidden" name="childs_age[4]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat4">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat5" type="hidden" name="childs_age[5]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat5">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat6" type="hidden" name="childs_age[6]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat6">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat7" type="hidden" name="childs_age[7]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat7">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat8" type="hidden" name="childs_age[8]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat8">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                      <li class="youth-select" style="display: none;">
                        <input class="ul_lat9" type="hidden" name="childs_age[9]" value="0">
                        <label class=""><select class="youth-age" id="ul_lat9">
                            <option value="0">Age</option>
                            <option value="1">1</option>
                            <option value="2">2</option>
                            <option value="3">3</option>
                            <option value="4">4</option>
                            <option value="5">5</option>
                            <option value="6">6</option>
                            <option value="7">7</option>
                            <option value="8">8</option>
                            <option value="9">9</option>
                            <option value="10">10</option>
                            <option value="11">11</option>
                            <option value="12">12</option>
                            <option value="13">13</option>
                            <option value="14">14</option>
                            <option value="15">15</option>
                            <option value="16">16</option>
                            <option value="17">17</option>
                            <option value="18">18</option>
                            <option value="19">19</option>
                            <option value="20">20</option>
                            <option value="21">21</option>
                            <option value="22">22</option>
                            <option value="23">23</option>
                            <option value="24">24</option>
                            <option value="25">25</option>
                          </select></label>
                      </li>
                    </ul>
                  </div>
                </div><!-- /.children_details -->
                <div class="discount_info">
                </div><!-- /.discount_info -->
              </li>
              <li class="discount_select_wrap">
                <select name="qsf_discount_select" class="discount_select">
                  <option value="default" disabled="" selected="">Choose a fare</option>
                  <option value="src_2_n">37% - 2 rides a year (pensioner)</option>
                  <option value="blind_civil_war_victims_n">37% - Blind victims of war activities (civilians)</option>
                  <option value="war_invalids_n">37% - War or army-disabled men</option>
                  <option value="polish_card_members_n">37% - Pole's Card</option>
                  <option value="blind_paxes_n">37% - Blind capable of independent existence</option>
                  <option value="disabled_persons_n">37% - Persons with an inability to independent existence</option>
                  <option value="large_family_card_parents_n">37% - Parent or spouse of a parent holding a Large Family Card</option>
                  <option value="combatants_n">51% - Combatants</option>
                  <option value="blind_disabled_persons_n">51% - Blind people with an inability to independent existence</option>
                  <option value="phd_students_n">51% - PhD Students</option>
                  <option value="disabled_childs_n">78% - Children and students with disability</option>
                  <option value="disabled_guardians_n">78% - Guardian of a child with a disability</option>
                  <option value="military_n">78% - Soldiers</option>
                  <option value="guardian_veterans_n">95% - A war veteran's guide of the severely disabled person</option>
                  <option value="guardians_n">95% - Guide / Guardian of a person with an inability to independent existence</option>
                  <option value="babys_n">100% - Children up to 4 years old</option>
                </select>
                <span class="removeX"></span>
              </li>
              <li class="add_new_discount_wrap">
                <div class="more-discounts">Add new discount </div>
                <div class="plusSign">+</div>
              </li>
              <li class="discount_category_wrap flexbox--col">
                <input class="discount_category" id="discount_large_family" type="checkbox" name="discountGroups[]" value="LARGE_FAMILY_CARD">
                <label class="checkbox-label flex-nowrap flexbox " data-for="discount_large_family">
                  <span class="label-description">
                    <span class="label-heading">Big Family</span>
                    <span> - valid for all types of trains</span>
                  </span>
                  <span class="label-checkbox">
                    <span class="checkmark"></span>
                  </span>
                </label>
                <div class="discount_category_info wrap">The presence of at least <strong>2 passengers</strong> is required. Each passenger needs to show their own Large Family Card during the ticket inspection. The "Large Family Card" discount is
                  <strong>combinable with other legal benefits</strong>.</div>
                <input class="discount_category" id="discount_cheaper_with_relatives" type="checkbox" name="discountGroups[]" value="CHEAPER_WITH_RELATIVES">
                <label class="checkbox-label flex-nowrap flexbox " data-for="discount_cheaper_with_relatives">
                  <span class="label-description">
                    <span class="label-heading">Cheaper with Closest</span>
                    <span> - valid on Intercity and TLK trains</span>
                  </span>
                  <span class="label-checkbox">
                    <span class="checkmark"></span>
                  </span>
                </label>
                <div class="discount_category_info wrap">To take advantage of the discount, <strong>2 to 6 people</strong> should be present during the trip. The "Cheaper with Family" offer <strong>can be combined with</strong> 33%, 37%, 51%, 78%,
                  95% or 100% <strong>discounts</strong>.</div>
                <input class="discount_category" id="discount_family_ticket" type="checkbox" name="discountGroups[]" value="FAMILY_TICKET">
                <label class="checkbox-label flex-nowrap flexbox m-0" data-for="discount_family_ticket">
                  <span class="label-description">
                    <span class="label-heading">Family Ticket</span>
                    <span> - valid on EIP (Pendolino) and EIC trains</span>
                  </span>
                  <span class="label-checkbox">
                    <span class="checkmark"></span>
                  </span>
                </label>
                <div class="discount_category_info wrap">There should be <strong>from 2 to 5 travelers, including one child under the age of 16</strong>, in order to apply the discount. The "Family Ticket" offer <strong>cannot be combined</strong>
                  with other statutory discounts.</div>
              </li>
              <li class="finished">
                <span class="text-center">Done</span>
                <input type="hidden" name="session_id" value="a7b7bd7777b393177e3c803631b667a51707727939.6232">
                <input type="hidden" name="afid" value="polishtrains">
                <input type="hidden" name="aver" value="en">
                <input type="hidden" name="step" value="2">
                <input type="hidden" name="language" id="language" value="en">
                <input type="hidden" name="results_on_page" value="15">
                <input type="hidden" name="pagination_page_number" value="1">
                <input type="hidden" name="one_way" value="Y">
                <input type="hidden" name="modul_trainhub" value="Y">
                <input type="hidden" name="resolution" value="">
                <input type="hidden" class="passenger_type adults_n" name="adults_n" value="1">
                <input type="hidden" class="passenger_type childs_n" name="childs_n" value="0">
                <input type="hidden" class="passenger_type students_n" name="students_n" value="0">
                <input type="hidden" class="passenger_type src_n" name="src_n" value="0">
                <input type="hidden" class="passenger_type babys_n" name="babys_n" value="0">
                <input type="hidden" class="passenger_type disabled_childs_n" name="disabled_childs_n" value="0">
                <input type="hidden" class="passenger_type disabled_guardians_n" name="disabled_guardians_n" value="0">
                <input type="hidden" class="passenger_type phd_students_n" name="phd_students_n" value="0">
                <input type="hidden" class="passenger_type src_2_n" name="src_2_n" value="0">
                <input type="hidden" class="passenger_type blind_civil_war_victims_n" name="blind_civil_war_victims_n" value="0">
                <input type="hidden" class="passenger_type war_invalids_n" name="war_invalids_n" value="0">
                <input type="hidden" class="passenger_type polish_card_members_n" name="polish_card_members_n" value="0">
                <input type="hidden" class="passenger_type blind_paxes_n" name="blind_paxes_n" value="0">
                <input type="hidden" class="passenger_type disabled_persons_n" name="disabled_persons_n" value="0">
                <input type="hidden" class="passenger_type large_family_card_parents_n" name="large_family_card_parents_n" value="0">
                <input type="hidden" class="passenger_type veterans_n" name="veterans_n" value="0">
                <input type="hidden" class="passenger_type combatants_n" name="combatants_n" value="0">
                <input type="hidden" class="passenger_type blind_disabled_persons_n" name="blind_disabled_persons_n" value="0">
                <input type="hidden" class="passenger_type military_n" name="military_n" value="0">
                <input type="hidden" class="passenger_type guardian_veterans_n" name="guardian_veterans_n" value="0">
                <input type="hidden" class="passenger_type guardians_n" name="guardians_n" value="0">
                <input type="hidden" class="passenger_type tl_adults_n" name="tl_adults_n" value="0">
                <input type="hidden" class="passenger_type tl_childs_n" name="tl_childs_n" value="0">
              </li>
            </ul>
          </div>
        </div>
        <div id="route_button_wrapper">
          <button class="app__submit text-center tab-outline-btn" style="font-family: 'Arial'; width: 100%;" tabindex="0"><span class="">Search</span></button>
        </div>
      </div> <!-- /.details -->
    </div> <!-- /.app__wrapper -->
    <div class="booking_wrapper qsf" style="display: flex;">
      <input type="checkbox" id="consent" class="booking-checkbox">
      <label for="consent" class="booking-label"> Show accommodation options </label>
    </div>
  </div>
  <script>
    var $openedBookingComCookieExpireTime = 1440;
    var data_discount = eval({
      "disabled_childs_n": {
        "title": "Children and students with disability",
        "description": "<strong>DISCOUNT 78%<\/strong> Children and youth with disability up to 24 y.o., students up to 26 y.o.",
        "discount": "78%",
        "info": "<ul><li> For discounted travel for disabled children and adolescents, a document confirming entitlement to a discount is required - a disabled person's ID or a medical certificate stating the degree of disability<\/li>\n                            <li>The discount applies only when traveling from your place of residence or from your place of stay to kindergarten, school, university, healthcare facility, specialist clinic, etc.<\/li><\/ul>"
      },
      "disabled_guardians_n": {
        "title": "Guardian of a child with a disability",
        "description": "<strong>DISCOUNT 78%<\/strong> Parent or a guardian of a child, youth or student with disability",
        "discount": "78%",
        "info": "<ul><li> Parent or a guardian of a child, youth or student with disability<\/li>\n                            <li>A discount can be used only in case of a journey from a place of residence to kindergarten, school, university, health facility etc.<\/li><\/ul>"
      },
      "phd_students_n": {
        "title": "PhD Students",
        "description": "<strong>DISCOUNT 51%<\/strong> PhD students up to the age of 35 with a Polish PhD student card",
        "discount": "51%",
        "info": "<div>For a concessionary fare for PhD students, a document confirming entitlement to a discount is required - PhD student ID issued by a Polish university or scientific unit.<\/div>"
      },
      "src_2_n": {
        "title": "2 rides a year (pensioner)",
        "description": "<strong>DISCOUNT 37%<\/strong> Pensioners as well as their spouses for whom the family allowances are received",
        "discount": "37%",
        "info": "<ul><li>The discount is applicable in the II class in all train types.<\/li>\n                            <li>Single or return tickets are treated as two separate rides.<\/li>\n                            <li>The discount is applicable upon the proper documents (issued by, among others, the Polish Association of Retired, Pensioners and Disabled) presented with an ID.<\/li>\n                            <li>In the train you need to contact the conductor to acquire the signature allowing you to benefit from the discount.<\/li><\/ul>"
      },
      "blind_civil_war_victims_n": {
        "title": "Blind victims of war activities (civilians)",
        "description": "<strong>DISCOUNT 37%<\/strong> Blind civilian victims of war activities incapable of independent existence.",
        "discount": "37%",
        "info": "<ul><li>Identity card required for a civilian victim of war operations, with an entry for incapacity for independent living, issued by a pension authority.<\/li>\n                            <li>You can buy a ticket with a 95% discount for the guardian.<\/li><\/ul>"
      },
      "war_invalids_n": {
        "title": "War or army-disabled men",
        "description": "<strong>DISCOUNT 37%<\/strong> War and military disabled with documents confirming the right to discount",
        "discount": "37%",
        "info": "<ul><li>War-disabled (soldier) person book required.<\/li>\n                            <li>The war-disabled persons within the severe disability (1 and 2 train class TLK\/IC\/EIC\/EIP).<\/li>\n                            <li>The war-disabled persons within the light or medium disability (1 and 2 train class TLK\/IC\/EIC\/EIP).<\/li>\n                            <li> Combatants holding the light, medium or severely disability ID (1 train class EIC\/EIP only).<\/li><\/ul>"
      },
      "polish_card_members_n": {
        "title": "Pole's Card",
        "description": "<strong>DISCOUNT 37%<\/strong> Pole's Card holders",
        "discount": "37%",
        "info": "<div>The Pole's Card required.<\/div>"
      },
      "blind_paxes_n": {
        "title": "Blind capable of independent existence",
        "description": "<strong>DISCOUNT 37%<\/strong> Blind people who are capable to live on their own",
        "discount": "37%",
        "info": "<ul><li>Required document certifing the disability or ID of a disabled person, presented along with an ID card or other document confirming identity.<\/li>\n                            <li>You can buy a ticket with a 95% discount for the guardian.<\/li><\/ul>"
      },
      "disabled_persons_n": {
        "title": "Persons with an inability to independent existence",
        "description": "<strong>DISCOUNT 37%<\/strong> Persons who are unable to live on their own.",
        "discount": "37%",
        "info": "<ul><li>Required document certifing the disability or ID of a disabled person, presented along with an ID card or other document confirming identity.<\/li>\n                            <li>You can buy a ticket with a 95% discount for the guardian.<\/li><\/ul>"
      },
      "large_family_card_parents_n": {
        "title": "Parent or spouse of a parent holding a Large Family Card",
        "description": "<strong>DISCOUNT 37%<\/strong> Rodzic lub ma\u0142\u017conek rodzica posiadaj\u0105cy Kart\u0119 Du\u017cej Rodziny",
        "discount": "37%",
        "info": "<div>A valid Large Family Card is required along with an ID card or other identity document.<\/div>"
      },
      "combatants_n": {
        "title": "Combatants",
        "description": "<strong>DISCOUNT 51%<\/strong> Veterans, including members of the Veterans Corps together with documents certifying the right to relief",
        "discount": "51%",
        "info": "<ul><li>Army ID required (military ID), with the recent photograph detailing the army duty work or HD, Territorial Army Service and Territorial Defence Force.<\/li>\n                            <li>Combatants, including members of the Veterans Corps and other entitled person, who are pensioners, disability pensioners or invalids (1 and 2 train class TLK\/IC and 2 train class EIC\/EIP).<\/li>\n                            <li>Combatants who are war or military disabled person within severely disability ID (2 train class EIC\/EIP) and within the light or medium disability ID (1 and 2 train class TLK\/IC and 2 train class EIC\/EIP).<\/li><\/ul>"
      },
      "blind_disabled_persons_n": {
        "title": "Blind people with an inability to independent existence",
        "description": "<strong>DISCOUNT 51%<\/strong> Blind people unable to live independently",
        "discount": "51%",
        "info": "<ul><li>Required document confirming the disability or ID of a disabled person, presented along with an ID card or other document confirming identity.<\/li>\n                            <li>You can buy a ticket with a 95% discount for the guardian.<\/li><\/ul>"
      },
      "military_n": {
        "title": "Soldiers",
        "description": "<strong>DISCOUNT 78%<\/strong> Soldiers performing non-military service and persons performing the servie in equivalent forms.",
        "discount": "78%",
        "info": "<ul><li>Army ID required (military ID), with the recent photograph detailing the army duty work or HD, Territorial Army Service and Territorial Defence Force.<\/li>\n                            <li>Discount does not apply to soldiers perfoming professional military service and overtime army service.<\/li><\/ul>"
      },
      "guardian_veterans_n": {
        "title": "A war veteran's guide of the severely disabled person",
        "description": "<strong>DISCOUNT 95%<\/strong> A guide or guardian of a war veteran or severely disabled person",
        "discount": "95%",
        "info": "<ul><li>Guides for war and military disabled including the severly disabled or recognized as completely incapable of work and incapable of independent existence.<\/li>\n                            <li>Guides of veterans being war or military disabled including the severely disabled or recognized as completely incapable of work and incapable of independent existence, also in case of being severely disabled.<\/li><\/ul>"
      },
      "guardians_n": {
        "title": "Guide \/ Guardian of a person with an inability to independent existence",
        "description": "<strong>DISCOUNT 95%<\/strong> Guide or guardian of a person incapable of independent existence, a blind person or civilian blind victim of war operations.",
        "discount": "95%",
        "info": "<ul><li>Required document certifying the inability to live independently, along with an ID card or other document confirming the identity of the person accompanied by the guide.<\/li><\/ul>"
      }
    });
    var data_discount_order = eval(["src_2_n", "blind_civil_war_victims_n", "war_invalids_n", "polish_card_members_n", "blind_paxes_n", "disabled_persons_n", "large_family_card_parents_n", "combatants_n", "blind_disabled_persons_n", "phd_students_n",
      "disabled_childs_n", "disabled_guardians_n", "military_n", "guardian_veterans_n", "guardians_n", "babys_n"
    ]);
    var icRoutes = eval([]);
    var dayNamesShort = eval(["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]);
    var monthNamesShort = eval(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]);
  </script>
</form>

Text Content

Skip the navigation
Train tickets in Poland and Europe
EN
My account Sign in

Train tickets in Poland and Europe +48 12 345 16 61

fee in accordance with the operator`s tariff
 * Train tickets in Poland and Europe +48 12 345 16 61
   
   fee in accordance with the operator`s tariff

 * PL Polski
 * UA Українська
 * RU Русский


 * Destinations
 * Train schedule
 * Inspirations
 * Refunds & Exchanges
 * My reservation
 * Contact
 * EN
   * PL Polski
   * UA Українська
   * RU Русский
 * My account Sign in
   

An email with a code for two-step verification (2FA) has been sent to your email
address. Check your email, enter the code below and confirm your login.
Invalid email or password
You dont have an account yet. Click Sign up
Facebook login attempt failed
You dont have an account yet. Click Sign up
Google login attempt failed
This email address is already in use
Registration confirmation sent by email
Password reset failed, please enter a valid email address
Link to change password is no longer active. Please re-enter your email address
associated with your account. We will send you a new link to reset your current
password
A link to reset the password has been sent to the provided e-mail address.
Please be advised that for security reasons the link will be valid for 1h
If you are not a robot try again.
Failed to send an email with a link to confirm registration, please contact our
Call center
Не удалось отправить электронное письмо с новым паролем, пожалуйста, сбросьте
пароль еще раз
Failed to log in
Passwords should match
The password must meet at least 3 of 4 criteria:
 * Between 8 to 30 characters (required)
 * Uppercase and lowercase letters
 * Special signs
 * Numbers

Log in

Create an account

Set a new password

Email address
Please correct Email address
Password

The password must meet at least 3 of 4 criteria:
 * Between 8 to 30 characters (required)
 * Uppercase and lowercase letters
 * Special signs
 * Numbers

Forgot your password?
2FA code
Repeat password
Passwords should match
I accept terms and conditions and privacy policy
This field is required

Log in Sign up
or
Log in with Facebook Sign up with Facebook Password reset

Über Google anmeldenÜber Google anmelden

Forgot your password?

Enter your email address associated with the account. We will send you a link to
reset your current password.

Email address
Please correct Email address
Cancel
Password reset
Already have an account? Log in
No account yet? Sign up

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of
Service apply.



ATTENTION!

An error has occurred. If this message appears repeatedly, please contact the
Call Centre.

OK
Loading data
Please wait...


BUY TRAIN TICKETS FOR POLAND AND EUROPE


EXPLORE POLAND AND EUROPE WITH THE BEST PRICES AND TRAVEL QUALITY

From
No connection from the selected city. Change the place of departure.

To
Change the departure or arrival station.
No connection to the selected city. Change the place of arrival.
Departing
Return +
Return date cannot be earlier than departure date.
Change the date. Booking tickets for Polish connections available only 30 days
ahead.
Passengers / Discounts
1 passenger
 * Choose
 * Select at least one passenger.
   Select the child's age.
   Also choose another type of passenger.
   Infants can not travel alone.
   A single ticket can be issued for up to 6 passengers . For larger groups, we
   recommend dividing them into two or more tickets or in the case of groups of
   at least 11 people choosing a group ticket
   Change the number of passengers. It cannot be greater than 5 in Europe.
   The selected tariff is valid only for trains within Poland. For the student,
   select the tariff "Children/Teenagers" (4-23 years) or Normal tariff
   The selected tariff is valid only for trains within Poland.For the PhD
   student, select the Normal tariff
   The selected tariff is valid only for trains within Poland. For a disabled
   traveler, choose one of the following tariffs by choosing the age of "Normal
   Tariff" (24-60 years), "Children/Teenagers" (4-23 years), "Children under 4"
   (0-3 years), respectively or "Senior" (60+ years)
   The selected tariff is valid only for trains within Poland. For a disabled's
   guardians, choose one of the following tariffs by choosing the age of "Normal
   Tariff" (24-60 years), "Children/Teenagers" (4-23 years), "Children under 4"
   (0-3 years), respectively or "Senior" (60+ years)
   Change the number of passengers. To take advantage of the Family Ticket
   offer, choose between 2 and 5 passengers, including one child under 16 years
   of age. If the child does not have a student ticket needed to choose a
   discount fare, please choose an adult fare.
   
   Change the number of passengers. To take advantage of the Large Family Card
   offer, a minimum of 2 people with a Large Family Card offer must be present
   during the journey.
   
   For one ticket, you can choose up to 3 different discounts.
   For a family ticket, you can choose up to 2 different discounts.
   The number of passengers must be the same.
   Change the date. The purchase of a ticket under the discount "Cheaper with
   Closest" is possible at least 3 days before departure.
   Change the number of people. To take advantage of the offer "Cheaper with
   Closest", select from 2 to 6 people.
   In the case of the "Cheaper with Closest" promotion, you can choose up to 2
   types of discounts.
   Change the number of people. To take advantage of the "A war veteran`s guide
   of the severely disabled person" discount, select an additional discounted
   ticket: "War or army-disabled men" or "Combatants"
   Change the number of people. To take advantage of the "Guide / Guardian of a
   person with an inability to independent existence" discount, select an
   additional ticket with a discount: "Blind victims of war activites
   (civilians)", "Blind capable of independent existence", "Persons with an
   inability to independent existence "or" Blind people with an inability to
   independent existence "
   Children under the age of 12 cannot travel alone. Select at least 1 adult
   with a regular ticket.
   
 * Normal fares
   Travelers without upgrades
   –
   1
   +
   
 * Child / Youth
   DISCOUNT 37% Children and youth aged 4 to 24 with a Polish school ID Read
   more
   –
   0
   +
    * For a concessionary fare for children and young people, a document
      confirming entitlement to a discount is required - Polish school ID
    * Adolescents and children over 7 years of age who do not have an
      appropriate document during travel must travel with a standard adult
      ticket
    * Discounts for children and adolescents on express trains (EIC, EC, and
      EIP) are valid only in second class (II)
   
   Hide
 * Students
   DISCOUNT 51%Students up to the age of 26 with a Polish student card or
   international ISIC student card, together with a document confirming the
   right to permanent residence in Poland Read more
   –
   0
   +
   For a concessionary fare for students, a document confirming entitlement to a
   discount is required:
    * Polish citizens - student ID issued by a Polish university, together with
      a personal ID or other document confirming their age
    * UE citizens - a student card issued by a Polish university or an ISIC
      international student card, together with a document confirming the right
      of permanent residence in Poland and a personal ID card.
   
   Hide
 * Seniors
   DISCOUNT 30% Seniors over 60 years old Read more
   –
   0
   +
   The system may allocate a more advantageous offer if available at the time of
   booking
   Hide
 * Children up to 4 years old
   DISCOUNT 100% Infants and children up to 4 years of age Read more
   –
   0
   +
    * Maximum of three tickets per transaction.
    * The seat for a ticket with this discount is automatically allocated in the
      vicinity of the previously purchased basic ticket. Reservations cannot be
      made if there is no space available nearby.
   
   Hide
 * Normal fares
   Travelers without discounts
   –
   0
   +
   
 * Child / Youth
   Children and teenagers up to 25 years old
   –
   0
   +
    * 
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
    * Age12345678910111213141516171819202122232425
   
   
 * Choose a fare 37% - 2 rides a year (pensioner) 37% - Blind victims of war
   activities (civilians) 37% - War or army-disabled men 37% - Pole's Card 37% -
   Blind capable of independent existence 37% - Persons with an inability to
   independent existence 37% - Parent or spouse of a parent holding a Large
   Family Card 51% - Combatants 51% - Blind people with an inability to
   independent existence 51% - PhD Students 78% - Children and students with
   disability 78% - Guardian of a child with a disability 78% - Soldiers 95% - A
   war veteran's guide of the severely disabled person 95% - Guide / Guardian of
   a person with an inability to independent existence 100% - Children up to 4
   years old
 * Add new discount
   +
 * Big Family - valid for all types of trains
   The presence of at least 2 passengers is required. Each passenger needs to
   show their own Large Family Card during the ticket inspection. The "Large
   Family Card" discount is combinable with other legal benefits.
   Cheaper with Closest - valid on Intercity and TLK trains
   To take advantage of the discount, 2 to 6 people should be present during the
   trip. The "Cheaper with Family" offer can be combined with 33%, 37%, 51%,
   78%, 95% or 100% discounts.
   Family Ticket - valid on EIP (Pendolino) and EIC trains
   There should be from 2 to 5 travelers, including one child under the age of
   16, in order to apply the discount. The "Family Ticket" offer cannot be
   combined with other statutory discounts.
 * Done

Search
Show accommodation options

SEARCHING CONNECTIONS...
PLEASE WAIT...



 * Ticket by e-mail and SMS
   
   After purchase and before the departure

 * Purchase without registration
   
   Purchase the ticket without signing in

 * We speak your language
   
   Polish - English - Ukrainian - Russian

 * Travel now - pay later
   
   Payment postponed up to 30 days


POPULAR TRAIN DESTINATIONS POLISHTRAINS RECOMMENDS

Warsaw

The capital of Poland located on the Vistula River. The city was built almost
anew after the destruction of World War II, today it enchants with the Old Town,
the restored Royal Castle and the spaciousness characteristic of socialism.
Currently, the economic center of Poland, the seat of the most important
companies and the government.

Read more

Cracow

Undeniably, Cracow is one of the most beautiful city on the Vistula River. It is
the capital of the Lesser Poland Voivodeship. Its history reaches back as far as
one thousand years. The Krak’s city takes the third position in Poland according
to its population and the second one according to its area. Cracow is an
important economical, educational as well as touristic centre.

Read more

Gdansk

Gdansk, situated on the Gdansk Bay is one of the oldest cities in Poland. It
takes the sixth position in the country considering the population and the
seventh considering the area. As the capital of Pomeranian Voivodeship together
with Gdynia and Sopot constitutes the Tricity. Gdansk is famous countrywide from
amber sale and treatment. Every year, it is a stage...

Read more

Wroclaw

Located in south-western Poland at the foot of the Sudetes, on the Odra River,
the historic city of Lower Silesia is rich in greenery and numerous parks. For
this reason, it is considered the greenest city in Poland, and next to Krakow
and Gdańsk is also considered the most beautiful. A great convenience for
tourists is the fact that all monuments are located in the city center...

Read more

Poznan

Poznan is the capital of Greater Poland Voivodeship. Poznan is fifth when it
comes to population and seventh concerning the area city in Poland. Undoubtedly,
the city hall is a flagship of the city. It is a valuable monument of
Renaissance architecture. The Old Market is also worth visiting. The area of the
market is drawn on a square. Its size puts it on the third position among...

Read more

Zakopane

The capital of the Tatras, the Podhale rock, the cradle of skiing in Poland or
the festival of kitsch and trash on Krupówki ... Zakopane - you name it. One
thing is certain - it is here that Poles and foreign tourists gather in search
of breathtaking views and contact with the unique highlander folklore in the
world. The attractive location of the city makes it surrounded by...

Read more

Paris

It is considered to be the European capital of culture. Nowadays, international
festivals, conferences and art take place there. There are over 400 galleries
and around 150 museums with the renowned Georges Pompidou modern art centre. The
capital of France, however, is better known for its historical buildings and and
as the city of lovers.

Read more

London

The capital of Great Britain and England. The largest city of the European Union
and the third in Europe. Capital of culture, fashion and business and the cradle
of Anglo-Saxon culture. There are as many as four objects inscribed on the
UNESCO World Heritage List: the Tower of London, the Royal Botanic Gardens and
the Palace of Westminster, Westminster Abbey ...

Read more

Rome

Located on the seven hills, the city is considered the cradle of European
culture. As the capital city of the Roman Empire it played the political and
cultural centre of the ancient times. Nowadays it overwhelms with the number of
historical buildings, both from the ancient times like Forum Romanum or
Colosseum and renaissance times as Michelangelo’s...

Read more

Prague

The capital of Czech Republic located on the Vltava River is a place where you
may see the incredible monuments representing all major European architecture
styles. The gothic Charles Bridge, St. Vitus Cathedral, the greatest in Europe
castle complex or Prague Hradczany - these are major city symbols. Descending
the castle hill through the picturesque...

Read more

Berlin

The capital and the biggest city in Germany. It is famous for concerts and other
cultural events, among others one is certainly worth mentioning, the Berlinale,
one of the most important in the film universe. The most recognizable monument
is the Brandenburg Gate. Erected as an arch commemorating Germany Reunification.
Other symbols of the city...

Read more

Vienna

The capital and the largest city of Austria, located on the Danube river.
Surrounded by the famous Ringstrasse, a historical city centre, delights with a
number of historical buildings representing the most important Austrian
architectural styles from the Romanesque style to the Art Nouveau. In 2001, due
to historical and cultural values the city...

Read more

Budapest

The capital city of Hungary, located on the Danube river is considered among the
most beautiful cities of the world. The city is divided into two parts in a
natural way. Buda is the mountainous, green area with Royal Castle as its
undoubtedly highest point reaching the XIII century. From the walls of the
castle spreads the wonderful city panorama...

Read more

Amsterdam

The capital of Holland located on the Amstel river is the largest city. It is
famous for a great number of historic canals. Therefore, Amsterdam is usually
called Venice of the North. Interestingly, apart from regular sightseeing you
may do the canoeing trip through the city centre! Other means of city
communication has to be a bike. Among others, on a bike you can reach...

Read more

Brussels

Located on Senne river is the capital of the Kingdom of Belgium. The United
Europe head offices, NATO and EUROATOM makes it the centre of Europe. The heart
of Brussels is surrounded by the XVII century merchants’ houses, the Grand Place
at which a monumental gothic town hall is located. It is considered the most
beautiful markets in Europe...

Read more




BEST CITIES TO VISIT BY TRAIN

The PolishTrains.eu service was created by a team of specialists and travel
enthusiasts as a solution for travelers from abroad coming to Poland.The
greatest advantage of the website is the simplicity of searching for train
connections and the ease of train ticket purchase online. Specially for you, we
have prepared an inspiring atlas of our cities - Destinations - where you can
find not only all the important tourist information but also time schedules and
prices from various train carriers. Thanks to this, you can design your very own
dream train journey across Poland and Europe with the certainty of choosing the
best train ticket price available - Warsaw, Krakow, Katowice, Poznan, Gdansk and
many other Polish and European cities.

 * Warsaw
 * Cracow
 * Gdynia
 * Gdansk
 * Wroclaw
 * Katowice
 * Kolobrzeg

 * Sopot
 * Zakopane
 * Nice
 * Zurich
 * Vienna
 * Berlin
 * Prague

 * London
 * Paris
 * Rome
 * Brussels
 * Szczecin
 * Lodz
 * Torun

 * Poznan
 * Lublin
 * Przemysl
 * Rzeszow
 * Bydgoszcz
 * Barcelona
 * Munich

 * Lille
 * Milan
 * Frankfurt
 * Moscow
 * Budapest
 * Brno
 * Geneva

 * Venice
 * Lyon
 * Marseille
 * Amsterdam
 * Alicante
 * Florence
 * Seville



Show all


WHAT OUR CLIENTS SAY

Kate Atlanta (US)

I will book my train tickets for my travels in Europe through your site again!

Karl Cologne (Germany)

It was super easy! So easy and fast, that I almost thought I was doing something
wrong :)

Jack London (UK)

Really good speed of completion of transaction and very intuitive navigation!

Claudia Seville (Spain)

Easy and really quick process of booking with great prices!

Lars Bergen (Norway)

Excellent customer service! All information provided!

Elisa Milan (Italy)

I love your “Destination” section! I found so much interesting information about
what to see and how to travel. Very useful!





LET YOURSELF BE INSPIRED – READ WHERE YOU CAN GET TO BY TRAIN IN POLAND AND
EUROPE.

Show more


DISCOVER POLAND AND EUROPE BY TRAIN

Scenic rails in the Alps

Choose the Glacier Express and experience the travel by one of the most
beautiful scenic rails in the world. Without a doubt there are faster ways of
travel than the one by the Glacier Express (with max speed of 40km/h) but
nothing compares to the effect the journey makes on the way...

Read more

Eurotrip across four countries in one weekend

European carriers have many interesting offers. Of course everything depends on
the budget planned for the trip, but many European cities are really affordable.
TThanks to Thalys we can travel quickly and comfortably. These trains run
between France, Belgium, the Netherlands and Germany...

Read more

Get on the train

The offer of train carriers is constantly growing. Our continent is full of rail
connections that reach over 20 thousand destinations in Europe. Rails give you
the option of traveling not only fast but also comfortable. The journey between
European cities is made possible by various carriers...

Read more

By train or by plane

Why do we build rails and travel by train when we have planes? Are planes really
the best and the fastest way of traveling? The answer is not that simple. Let us
explain more. The journey is not just about getting form one airport to another
– it is also about reaching the actual destination of the travel...

Read more

Visit Italy by train

We can find online many cheap plane tickets to Milan, Bologna or Rome. The
actual destinations of the travel however are quire far from the airports. You
can rent a car at the airport to get to your hotel and to travel around.
However, there are people who prefer visit Italy in a different way and then the
car rental simply...

Read more

“High-speed” in Germany

On the 9th of May 1991 the era of ICE trans in Germany began. On that day the
high-speed trains set off from Hamburg, Munich, Stuttgart, Mainz and Bonn and
met on the Kassel-Wilhelmshöhe station. On the 2nd of June 1991 a regular
connection began to operate on the route from Hamburg Altona to Hanover...

Read more

“One way ticket”… when and what type of ticket...

The high-speed rails have their own types of tickets, classes and fares. If you
decided to choose a high-speed train it is worth to check available type of
tickets and how to book the dream trip. The earlier the ticket booking date, of
course the ticket is cheaper. This is the basic rule for booking tickets...

Read more

Travel around Spain by train

The high-speed trains allow to travel in Spain fast and comfortably. It is the
best and the most convenient way of traveling between the largest Spanish
cities. To travel around Spain by train you can choose to try out super
high-speed trains. Spain is one of the most popular countries in Europe and in
the world...

Read more

By train with children

While the children typically enjoy a joyful ride on a happy choo-choo train the
parents face a challenging project that involves good management, infrastructure
knowledge and the juggling skills that require at least 6 hands. Luckily the
high-speed trains meet the expectations of parents traveling with children...

Read more




CHOOSE THE TRAIN AND PLAN YOUR DREAM JOURNEY

PolishTrains has brought together inexpensive train ticket offers from all the
major European carriers such as TGV, Thalys, Eurostar, Deutsche Bahn, AVE and
ICE, as well as the Polish Pendolino, TLK and Intercity services. Thanks to
this, you can compose your own dream train journey across Poland and Europe with
the added certainty of choosing the best train ticket prices available - Warsaw,
Krakow, Katowice, Berlin, Paris, Prague, Poznan, Gdansk, Sopot, Budapest, Torun,
and many others cities – Discover Poland and Europe with PolishTrains.eu!

 * Intercity
 * Pendolino
 * TLK

 * Eurostar
 * TGV
 * Thalys

 * ICE
 * AVE
 * Intercite de Nuit

 * Frecciarossa
 * Frecciabianca
 * Frecciargento

 * TGV Lyria
 * Cheese Train
 * Bernina Express

 * Glacier Express
 * Pre-Alpine Express
 * Train du Chocolat





POLAND AND EUROPE - SIGHTSEEING FROM A TRAIN!

PolishTrains allows you to search, book and buy a train ticket to numerous
Polish and European destinations. Thanks to the intuitive webpage, it is
possible to find information on practical and comfortable ways of train travel
across Poland and Europe. The ongoing improvement of train quality, together
with the expansion and modernization of the railway network, as well as highly
accessible train ticket prices, all make train travel the ideal means of
transport for sightseeing. Travelling by train from one city center to another
saves you time and money. Furthermore, thanks to the lack of luggage
limitations, you can take anything you need!


PLAN YOUR DREAM JOURNEY BY TRAIN WITH US!

Make sure you check the “destinations” tab with town maps and nearby tourist
attractions to help you plan your dream journey! Warsaw, Gdansk, Poznan, Sopot,
Zakopane, Katowice, Cracow, Rzeszow, Lublin, Wroclaw, Vienna, Berlin, Munich,
Prague, Budapest, Paris, London, Amsterdam and many other destinations all
available from Polish stations. Check railway connections and buy cheap train
tickets online for all connections with fast Polish trains like Intercity or
Pendolino. Plan your dream trip from the comfort of your home, check out what to
see and discover Poland and Europe by train with PolishTrains!


POLISHTRAINS.EU - POLISH PRICES MEET EUROPEAN STANDARDS!

Travel by train at the very best prices and experience the highest quality with
the most popular high-speed trains in Europe. Find the best offer, buy cheap
train tickets online, and discover Poland and Europe from the comfort of a
modern train. Polish and European railway tickets online - low prices for
railway tickets. Find your perfect railway connection and buy a train ticket
online. Pay by bank transfer or credit card and receive train tickets by email -
our service is available 24 h. Easy reservation and simple buying process - it’s
never been easier! Travel around Poland in European standard trains at
attractive prices!





IMPORTANT TRAIN STATIONS IN POLAND

 * Krakow Glowny
 * Warsaw Centralna
 * Gdansk Glowny

 * Wroclaw Glowny
 * Lodz Fabryczna
 * Szczecin Glowny

 * Opole Glowne
 * Kolobrzeg
 * Poznan Glowny

 * Bydgoszcz Glowna
 * Gdynia Glowna
 * Katowice

 * Zakopane
 * Sopot
 * Torun Glowny





MOST POPULAR TRAIN DESTINATIONS

 * Train to Warsaw
 * Train to Krakow
 * Train to Gdynia
 * Train to Gdansk
 * Train to Wroclaw
 * Train to Katowice
 * Train to Kolobrzeg
 * Train to Rzeszow
 * Train to Poznan

 * Train to Sopot
 * Train to Zakopane
 * Train to Moscow
 * Train to Vienn
 * Train to Berlin
 * Train to Prague
 * Train to Lublin
 * Train to Przemysl
 * Train to London

 * Train to Paris
 * Train to Rome
 * Train to Brussel
 * Train to Torun
 * Train to Szczecin
 * Train to Lodz
 * Train to Bydgoszcz
 * Train to Budapest
 * 





TRAIN CARRIERS IN EUROPE

 * Intercity - fast trains in Poland
 * Pendolino - fast trains in Poland
 * TLK - fast trains in Poland
 * Eurostar - London, Paris, Brussels
 * TGV - french high speed train
 * Thalys - belgian high speed train
 * ICE - germany high speed train
 * AVE - spanish high speed train
 * Intercite de Nuit - nightly trains

 * Frecciarossa - italian high speed train
 * Frecciabianca - italian high speed train
 * Frecciargento - italian high speed train
 * TGV Lyria - trains in France
 * Cheese Train tickets online
 * Bernina Express - panoramic trains
 * Glacier Express - panoramic trains
 * Pre-Alpine Express - panoramic trains
 * Train du Chocolat - panoramic trains



Pay with MasterCard for the train tickets online Pay with Visa for the train
tickets online
PCI DSS
 * Join us!
   PolishTrains - cheap train tickets across Poland and Europe PolishTrains -
   cheap train tickets across Poland and Europe
 * 

 * PolishTrains.eu
 * News
 * PolishTrains Blog
 * Terms of service
 * Carriers terms of services
 * Privacy policy

 * Plan your trip
 * Train schedule
 * Trains
 * Train trips
 * Cities guide
 * Travel recipes
 * Train itineraries

 * Train careers
 * Eurostar
 * TGV
 * Thalys
 * Intercity
 * TLK
 * Pendolino

 * Book train ticket
 * Group offer
 * Travel Recipes
 * Swiss Pass
 * Interrail Pass

 * Customer support
 * Refunds & Exchanges
 * Help
 * Contact us

IT Projects © 2024 | All rights reserved | Cheap train tickets online | Travel
around Poland and Europe by train | Pendolino, Intercity, TGV, Thalys, Eurostar,
DB | Train trips

Add the PolishTrains.eu application to the home screen
Choose
Add To the start screen

We use our own cookies and third-party cookies to improve the usability of our
website. If you agree with our cookies’ policy - click "Agree". In order to
configure the settings according to your preferences click 'Cookies settings'.

Cookies settings Agree

YOUR PRIVACY SETTINGS

User privacy

User privacy

We use HTTP cookies (popular 'cookies') to facilitate the functionality and
appeal of PolishTrains.eu. We do this to add to the user experience, enhance the
system's performance and elevate technical characteristics to the expectations
of future customers. It is also related to the matter of personalizing displayed
ads, marketing, and promotion of the website. Cookies are small blocks of data
created by a web server and placed on the user's browser. The default parameters
of cookies allow the information contained in them to be read only by the server
that created them. We would like to emphasize that the information contained in
cookies does not contain personal data. Each user has the option of blocking
selected cookies according to their preferences. However, in this case, we do
not guarantee the optimal operation of the website and related services. If you
allow the collection of cookies - please click 'I allow all'. Otherwise, please
go to the specific tab to deactivate or activate the selected cookies’ settings.
Some cookies are necessary as a part of the service’s activity and cannot be
deactivated. They are used on the PolishTrains.pl for the benefit of improving
service functionality, such as logging into the customer’s section or displaying
the parameters of the recently searched train connections
Analytical cookies

Analytical cookies

This type of cookies allows us to track users' visits and analyze their behavior
on PolishTrains.pl. It helps us to improve its usability and optimize purchasing
processes so that its use is easy, pleasant and quick. If you do not allow
cookies of this type, our knowledge about the behavior and expectations of users
will be limited, therefore the website will be less intuitive. We will be
grateful if you do not block this type of file. In this way you will help us
develop PolishTrains.pl.
Marketing cookies

Marketing cookies

This type of cookies are used to personalize and customize the content of
advertisements displayed on PolishTrains.pl and other services. If you do not
accept cookies that support this process - you may receive advertising that is
less focused on your interests.

User privacy

We use HTTP cookies (popular 'cookies') to facilitate the functionality and
appeal of PolishTrains.eu. We do this to add to the user experience, enhance the
system's performance and elevate technical characteristics to the expectations
of future customers. It is also related to the matter of personalizing displayed
ads, marketing, and promotion of the website. Cookies are small blocks of data
created by a web server and placed on the user's browser. The default parameters
of cookies allow the information contained in them to be read only by the server
that created them. We would like to emphasize that the information contained in
cookies does not contain personal data. Each user has the option of blocking
selected cookies according to their preferences. However, in this case, we do
not guarantee the optimal operation of the website and related services. If you
allow the collection of cookies - please click 'I allow all'. Otherwise, please
go to the specific tab to deactivate or activate the selected cookies’ settings.
Some cookies are necessary as a part of the service’s activity and cannot be
deactivated. They are used on the PolishTrains.pl for the benefit of improving
service functionality, such as logging into the customer’s section or displaying
the parameters of the recently searched train connections

Analytical cookies

This type of cookies allows us to track users' visits and analyze their behavior
on PolishTrains.pl. It helps us to improve its usability and optimize purchasing
processes so that its use is easy, pleasant and quick. If you do not allow
cookies of this type, our knowledge about the behavior and expectations of users
will be limited, therefore the website will be less intuitive. We will be
grateful if you do not block this type of file. In this way you will help us
develop PolishTrains.pl.

Marketing cookies

This type of cookies are used to personalize and customize the content of
advertisements displayed on PolishTrains.pl and other services. If you do not
accept cookies that support this process - you may receive advertising that is
less focused on your interests.
I confirm my selection I allow all