Earn Alitalia Millemiglia miles – Bennet card

Bennet Alitalia Millemiglia(This post is part of the Alitalia Millemiglia travel hacking series)

Among the partners that allow to convert their loyalty points to Alitalia Millemiglia miles, there is Bennet, an Italian hypermarket chain with more that 6o points across northern Italy. It is possible to convert 1 Bennet point to 1 mile, till end of January 2017 (at least).

Taken alone, it already seems an interesting possibility to me, considering  Carta Bennet Club is activated for free and immediately upon requests, and gives 1 Bennet point for each 0.50 euros spent, after the fist 5 euros. Plus, there are several product that grant additional Bennet points.

Paying the bill using a Carta Alitalia Oro adds up more additional miles. For example, let’s consider a total expense cost of 50 euros: Bennet will credit 90 points (50 euros – 5 initial euros) * 2 points each euro, and the Carta Oro will entitle for additional 62 miles, 50 * 1,25 miles multiplier. A grand total of 152 miles, with 50 euros of shopping. Not so bad.

In addition, Bennet customer care told me that in the past they were special days when 1 Bennet points gave 2 or event 3 miles. Fingers crossed for a next occasion, but in the meantime I keep earning points.

Earn Alitalia Millemiglia miles – choose a credit card

(This post is part of the Alitalia Millemiglia travel hacking series)

It’s not a secret one of the first tools in the travel hacker toolbox is a credit card to earn loyalty points for each purchase made with it. Alitalia has a partnership with American Express to exchange Alitalia miles using AMEX Membership Reward Points. But if you’re not an AMEX customer yet, there are three interesting special cards to consider: Carta Alitalia Verde, Carta Alitalia Oro, Carta Alitalia Platino.

The main, common, advantages are earning bonus miles for card activation, plus miles for each purchase made with the card. Amount of the bonus miles and miles multiplier for purchases change with the level of the card. In additions, they offer access to exclusive Alitalia clubs (Ulisse and Freccia Alata), travel assurances, free class upgrades, bonus tickets and more. Conditions and offers change over time, so it’s important to check the current ones.

But I’ve discovered an interesting difference when requiring the card online, compared to requiring it offline at the dedicated American Express booths at airports: offline activation enables a way bigger welcome bonus. In fact, requiring a Carta Alitalia Oro at the airport entitles to 25000 miles bonus, instead of the 3000 miles for online activation: 3000 contextual to card activation (as for online), plus additional 22000 miles if at least 500 euros are spent during the first 3 months after card activation.

There are two drawbacks, compared to the current online offer (valid till Dec 18th 2016): 60 euros for the card first year fee, while online activation has 0 euros fee for the first year, and no 100 euros Amazon gift card, offered with online activation.

All considered, I’ve decided to activate a Carta Alitalia Oro at the airport (Milano Linate, in my case), spending 60 euros to receive those 25000 miles, rather than activating the card online spending 0 euros and receiving a 100 euros Amazon gift card. It seems a loss, but earning these additional 22000 miles would have been more difficult, and expensive, than that. And with 25000 miles is already possible to request a return ticket for a lot of European destinations.

To summarize, thanks the card I’ve now: 3000 welcome bonus miles, potential additional 22000 miles if I spent 500 euros during the next 3 months (easy, with my current expenses), free travel assurance, a companion ticket if I spend 15000 euros within the year (but this is too much for me), 3x qualifying miles for Exclusive Clubs access, direct access to Alitalia Club Ulisse, that enables 25% extra miles earning on flights booking, priority boarding, extra baggage free of charge, 2 Economic to Business class updates for European and Mediterranean, paid access to SkyTeam lounges and more, extended to all Skyteam partners. Card is connected to my bank account, no need to open a new one.

Conversational power for Android apps, Codemotion Milan

Conversational interfaces are the new cool. During the session we’ll see how to add conversational power to any Android app: from listening to the user, understand what she said and provide voice replies. Using internal APIs, external service and a little bit of code.

(Codemotion Milan, 25 November 2016)

TripIt, Worldmate, Tripcase, Kayak Trips: my review of travel planner apps

I travel quite a lot, so having a service to track all my reservations, flights, hotels etc is very important for me. Luckly, there are several “travel companion” apps, so I’ve taken a look to some of them. I don’t consider myself a uber-user (yet), so this post tries to review them thru the lens of the features I consider useful for me now:

  • Must-have: the mobile app works offline
  • Must-have: import travel plans painlessly, just forwarding the confirmation email I receive
  • Must-have: generate a calendar feed that could be integrated in my Google Calendar
  • Must-have: edit, delete and add trip segments, even offline
  • Important: a great UX for the basic and most recurrent tasks, a pleasant UI in general
  • Nice-to-have: receive no my mobile device updates on flights gates, delays, luggage exitsm, etc
  • Nice-to-have: sharing travel plans with others not subscribed to the service

TL;DR: After a while with TripIt, I’m now using Kayak Trips, and I’m happy with it.

TripitTripIt

TripIt is an historical player in this field, I’ve used it for a couple of years, but I left the service after several failed imports of travel plans (Trenitalia, Easyjet) and wrong timezones for the imported ones. Recently the mobile app has been revamped, but the issues with importing data persists and the majority of the webapp has the same very old UI. On the other side, thanks to the Pro account, I’ve received punctual notification on flight schedules changes, gates etc even before the displays at the airport showed them, and I’m part of a team with all of my colleagues, so we’re alerted each other if we’re nearby and I can check their travel calendar. Full list of features can be found here.

WorldmateWorldmate

Worldmate was one of the first alternatives I tested. It has rarely failed to import my emails and it was the only service able to parse coach and seat number of train reservations. It met all my requirements in the free version, except the calendar option, available only for premium accounts. It also offers a connection feature with LinkedIn, alerting when crossing paths with your contacts. I was not impressed by the web and mobile UI and it’s impossible to split / merge trips. Another cool feature offered is an API for parsing travel itinerary information from confirmation emails. They were acquired by Carlson Wagonlit family in 2012 and full features list is here.

TripcaseTripcase

Tripcase uses Worldmate API to parse travel itinerary, but from tests I’ve done sending the same confirmation emails to both services, Tripcase adds less detail to the final trip itineraries: for example, train coach and seat are missing. I don’t know if the API returns less info or Tripcase discards some of them. From a UX / UI point of view, it is much better that Worldmate. The only issues I’ve found so far is the creation of separate trips for confirmation emails that refers to same dates and destinations, for example a flight and an hotel, even if a specific option should prevent that. They could be merged later on web app, but it’s annoying. Calendar appointments are created, but only for the trip elements, while I generally prefer to also have an all-day event for the whole length of the trip. One cool feature app offers is reminders for missing hotel reservations in the itinerary, while full list is here.

Kayak TripsKayak Trips

Kayak Trips: Kayak has always succeeded to import confirmation emails for hotel, flights or train I’ve booked in Europe and USA, and it mets all my requirements with satisfaction. Another unique factor to consider is the Kayak business model: Kayak is a travel search company and the app is a commodity to drive more bookings, so there is no premium version and the app could be maintained even if it’s not profitable by itself. Flip side is the total lack of integration with the additional travel services the other reviews apps offer, like LoungeBuddy, Mozio and many more.

Google TripsGoogle Trips

Google Trips: latest comer to the party, the UX/UI of the app is great, everything is create automagically from inbox emails and there is a strong support for offline features, well integrated with other Google properties. Unfortunately, a Gmail account is required and there is no way to manually add/modify a segment of a trip, or choose a different splitting for them.

 

Disclaimer: there are lot of more features these apps have (booking hotels / flights / cars, integration with third party services, tracking of loyalty program points and much more), and the presence or lack of some of them could greatly influence personal choices.

Conversational power for Android apps, DevFest Nantes

Conversational interfaces are the new cool. During the session we’ll see how to add conversational power to any Android app: from listening to the user, understand what she said and provide voice replies. Using internal APIs, external service and a little bit of code.

(DevFest Nantes, 9 November 2016)

More Telegram bot features using IFTTT

Telegram bot with IFTTT recipesNow that I created a Telegram bot fed by IFTTT, I can add new features using the available channels. A message with the Milan weather condition every morning, for example, or a cool 500px picture during the day to take a break and enjoy the beauty? Possibilities are limited only by IFTTT skills.

The logic is easy: every recipe has a different trigger (the “this” past), and the action is always the same: use the Maker channel to send a POST HTTP call to the Telegram bot, formatting the message with the specific information I want to display. To create the Telegram bot, please look to my previous post.

Weather

Telegram bot weather

The trigger to activate in the Weather channel is “Today’s weather report”, setting the time of the day the report has to be sent. I set 7.00 am because I prepare last minute, but it’s also possible to select “Tomorrow’s weather report” and receive the message the evening for the ones that want to plan what to dress the next day in advance. There are plenty of other information available in the triggers, like sunrise and sunset time, change of conditions / temperature and much more. The city is selected when the channel in connected with the IFTTT account.

The action is the “Make a web request” is the Maker channel, using the following parameters (XXtokenXX and the chat_id have to be changed with the appropriate values):

  • URL: https://api.telegram.org/botXXtokenXX/sendMessage
  • Method: POST
  • Content type: application/json
  • Body: {“chat_id”:”-235327410″, “text”:”Good morning. In Milan {{TodaysCondition}}, max {{HighTempCelsius}} min {{LowTempCelsius}}”}

Cool 500px pictures

Telegram bot with picture

The trigger to activate in the 500px channel is “New Editors’ Choice photo”, selecting one of the available categories, or any.

The action is the “Make a web request” is the Maker channel, using the following parameters:

  • URL: https://api.telegram.org/botXXtokenXX/sendMessage
  • Method: POST
  • Content type: application/json
  • Body: {“chat_id”:”-235327410″, “text”:”Breath and enjoy the beauty: [<<<{{Title}}>>>]({{SourceUrl}})”, “parse_mode”:”markdown”, “disable_web_page_preview”: “false”}

In order to have a preview of the image embedded in the bot message, I used parse_mode set to markdown and i set disable_web_page_preview to false, even if it’s the default setting. Of course the text value is written using Markdown syntax. For more information on the available parameters, the official doc is a good reference. Again, XXtokenXX and the chat_id have to be changed with the appropriate values.