def price_choices(definition, order)
      # auto select
      definition['choices'].each { |name,prices| return prices['half'], prices['full'] if prices[price_paid] == order.price }

      return price_guess_get(order) if @force_guess_fallback

      choose do |menu|
        menu.prompt = "\nSelect the choice that applies to your travels?  "

        log_info "\n"
        definition['choices'].each do |name,prices|
          menu.choice "#{name} (half-fare: #{currency(prices['half'])}, full: #{currency(prices['full'])})" do
          end
        end
        menu.choice "…or enter manually" do ask_for_price(order) end
      end
    end
def price_choices(definition, order)
      # auto select
      definition['choices'].each { |name,prices| return prices['half'], prices['full'] if prices[price_paid] == order.price }

      return price_guess_get(order) if @force_guess_fallback

      choose do |menu|
        menu.prompt = "\nSelect the choice that applies to your travels?  "

        log_info "\n"
        definition['choices'].each do |name,prices|
          menu.choice "#{name} (half-fare: #{currency(prices['half'])}, full: #{currency(prices['full'])})" do
          end
        end
        menu.choice "…or enter manually" do ask_for_price(order) end
      end
    end
Calculates the prices according to the `choices` definition.