Sha256: 4e46c3a2be34779edaa511fe6c0172f524d65906b3d4d9f087cde66850880844

Contents?: true

Size: 1.99 KB

Versions: 46

Compression:

Stored size: 1.99 KB

Contents

class Gillbus
  # not a request, neither a response part
  # just a params record for SearchTrips
  class PassengerDiscount < BaseRequest
    def self.wrap(passenger_or_params)
      return passenger_or_params if passenger_or_params.is_a? self
      new(passenger_or_params)
    end

    # passenger0birthday... passengerNbirthday (обязательный для авиаперевозки)
    # Дата рождения пассажира с порядковым номером 0...N.
    attr_accessor :birthday

    # passenger0studentTicket... passengerNstudentTicket (не обязательный)
    # Номер студенческого билета пассажира с порядковым номером 0... N.
    attr_accessor :student_ticket

    # passenger0studentYear... passengerNstudentYear (не обязательный)
    # Курс, на котором учится пассажир с порядковым номером 0...N, если он студент.
    # Для просчета более выгодной скидки.
    attr_accessor :student_year

    # passenger0ISIC...passengerNISIC (не обязательный)
    # Номер ISIC пассажира с порядковым номером 0...N.
    attr_accessor :isic

    # passenger0withSeat...passengerNwithSeat (не обязательный), boolean
    # Признак обязательного предоставления места пассажиру с порядковым номером 0…N.
    # По-умолчанию false. Если true, то пассажиру будет подобран тариф
    # с предоставлением места, если такой имеется.
    attr_accessor :with_seat

    def params(prefix = '')
      compact(
        birthday: date(birthday),
        studentTicket: student_ticket,
        studentYear: student_year,
        ISIC: isic,
        withSeat: bool(with_seat),
      ).map { |k, v| [:"#{prefix}#{k}", v] }.to_h
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
gillbus-0.23.0 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.9 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.8 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.7 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.6 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.5 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.4 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.3 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.2 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.1 lib/gillbus/structs/passenger_discount.rb
gillbus-0.22.0 lib/gillbus/structs/passenger_discount.rb
gillbus-0.21.0 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.9 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.8 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.7 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.6 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.5 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.4 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.3 lib/gillbus/structs/passenger_discount.rb
gillbus-0.20.2 lib/gillbus/structs/passenger_discount.rb