I am working on a difficult problem: to find a solution for receiving data after the booking process. Basically, I have a page with the form (SLIM FORM), which I should automatically fill out with information coming from the provider form (for example, easyjet.com or hotels.com, anywhere in the reservation). For example: https://secure.booking.com/hotel/es/royal.html?sid=1c2bab12a0c64a541728840f52cd6401;errorc_checkin_invalid=checkin;errorc_intro_error_message_invalid_intro_error_vror_vror_vror_vror_stror_vror_ver1_error_vror_v_rever_v_1_1_0_1_0_0_0 1; errorv_hostname = www.booking.com; errorv_nr_rooms_9022801_80638194_0 = 1; errorv_interval = 1 the information in my order is what I need to get.

I did some tests, and here is what I found out so far:
It is not possible to have both pages on the same page because there is no communication with the external server with cURL, and with iframes it leaves the ASAP page when the src iframe changes.
So, I decided that the booking process should occur on a separate page, in the domain of the booking provider (easyjet.com ...)
1) I have the right to consider making a reservation on a real site or is there a way to include an external website on my page and complete the entire booking process in it (basically filling out forms upon check-out, check-in date, etc.) ...) ?
If this is not possible, I did some tests with cURL and came to this conclusion:
_ I will need to determine the appropriate regular expression for each provider, and I get the impression that some have mechanisms for identifying cURL and blocking. (e.g. lufthansa.com) But it works great with others (booking.com)
I have 2 additional questions:
2) Are there better solutions than cURL for parsing HTML code on a page (especially since it does not work if the URL does not include sessionID)? I was thinking maybe using something like Selenium ...
3) How can I start a cURL session in another tab or window? (I was thinking of a bookmark-like system that might run some JavaScript code)
Thanks for your answers and sorry for the length :-)
Update . Based on the answers received, here are some fresh thoughts: for large providers (easyjet, hotels.com, etc.) I will use the API, if available. For small providers (for example, http://www.hotel-gare-clermont.com/en,1,6217.html ), I think the proxy solution is different and I wonβt receive any legal complaints from "Hotel de la Gare", adding visibility to these small providers. What do you think?