Tôi đang làm việc trong ngành du lịch với tư cách là kiến trúc sư phần mềm / trưởng dự án về loại dự án chính xác mà bạn mô tả - trong khu vực của chúng tôi, chúng tôi làm việc trực tiếp với các nhà cung cấp, nhưng đối với những người đi ra ngoài, chúng tôi kết nối với một số công ty tổng hợp.
Để trả lời câu hỏi của bạn ... một số dữ liệu bạn có, một số dữ liệu bạn có được theo nhiều cách khác nhau, và một số bạn phải tra tấn và vặn vẹo cho đến khi nó thú nhận.
Góc độ của bạn là gì?
Các câu hỏi bạn phải hỏi là ... Bạn muốn bán quảng cáo như Kayak hay bạn thực hiện cắt giảm như Expedia? Bạn đang tìm kiếm hoặc bán các dịch vụ du lịch? Bạn có nhắm mục tiêu đến thị trường ngách (ví dụ: chỉ du lịch bằng máy bay) hay mọi thứ (chỗ ở, hãng hàng không, thuê xe, các dịch vụ bổ sung như vận tải / tham quan / hội nghị, v.v.)? Bạn nhắm mục tiêu khu vực (Hoa Kỳ hoặc một phần của Hoa Kỳ) hay thế giới? Bạn đi sâu đến mức nào - bạn chỉ hiển thị một số trang web trên một màn hình hay bạn gộp các dịch vụ khác nhau lại với nhau và đóng gói chúng một cách linh hoạt?
Lấy dữ liệu
Nếu bạn đang sử dụng mô hình kinh doanh Kayak, về mặt kỹ thuật, bạn không cần sự cho phép của trang web ... nhưng rất nhiều trang web có chương trình liên kết với IFrame hoặc các cách đơn giản khác để hướng khách hàng đến trang web của họ. Mặt tích cực, bạn không phải giải quyết các khoản thanh toán / khiếu nại và chính khách du lịch. Về nhược điểm ... nếu bạn muốn tự mình so sánh giá và đưa ra lựa chọn rẻ nhất cho người dùng, bạn sẽ phải tích hợp ở mức độ sâu hơn, và điều đó có nghĩa là API và web cạo.
Còn đối với việc nạo web ... hãy tránh nó. Thật tệ. Có thật không. Đừng làm vậy. Tin tôi lần này đi. Ví dụ, một số thứ như lowcosters mà bạn không thể nhận được nếu không tìm kiếm trên web. Các hãng hàng không giá rẻ sống nhờ các dịch vụ giá trị gia tăng. Nếu người dùng không nhìn thấy trang web của họ, họ không bán thêm những thứ khác và họ không kiếm được gì. Do đó, họ không có chi nhánh, không cung cấp API và họ thay đổi bố cục trang web của mình gần như liên tục. Tuy nhiên, có những công ty kiếm sống bằng cách quét các trang web của lowcoster và gói chúng thành các API đẹp. Nếu bạn có đủ khả năng chi trả, bạn có thể cung cấp cho người dùng bảng so sánh chi phí của các chuyến bay giá rẻ và con số đó rất lớn.
Mặt khác, có những nhà cung cấp dịch vụ "bình thường" cung cấp API. Không phải là vấn đề lớn khi đến các hãng hàng không vì tất cả họ đều thống nhất theo IATA ; về cơ bản, bạn mua từ IATA và IATA phân phối tiền cho các nhà mạng. Tuy nhiên, bạn có thể không muốn kết nối trực tiếp với mạng của nhà cung cấp dịch vụ. Ngày nay, họ có các dịch vụ web và SOAP, nhưng hãy tin tôi khi tôi nói rằng có các giao thức SOAP chỉ là một lớp bao bọc cực kỳ mỏng xung quanh lời nhắc văn bản mà qua đó bạn có thể tương tác với máy tính lớn bằng giao thức kiểu 80 (hãy nghĩ về Unix nhắc bạn phải thanh toán ở đâu cho mỗi lệnh; và cần khoảng 20 lệnh để thực hiện một lần tìm kiếm). Đó là lý do tại sao bạn có thể muốn kết nối với ai đó nhiều hơn một chút trong chuỗi thức ăn, với một API tốt hơn.
Do đó, các hãng hàng không nằm trên cả hai cực của đường cong Gaussian; một bên là các nhà cung cấp riêng lẻ và một bên là các hệ thống tập trung cao độ khác, nơi bạn triển khai một API và bạn có thể bay đến mọi nơi trên thế giới. Chỗ ở và phần còn lại của các sản phẩm du lịch nằm giữa. Có một số công ty lớn tập hợp các khách sạn và rất nhiều nhà cung cấp nhỏ với nhiều công ty tổng hợp chỉ bao gồm một phần của phổ. Ví dụ, bạn có thể thuê một ngọn hải đăng và thậm chí nó không đắt đến thế - nhưng bạn sẽ không thể so sánh giá của các ngọn hải đăng khác nhau ở một nơi.
Nếu bạn tham gia vào mô hình kinh doanh Kayak, có thể bạn sẽ phải tìm kiếm các trang web. Nếu bạn đang tích hợp các nhà cung cấp khác nhau, bạn thường sẽ làm việc với các API, một số trong số đó khá tốt và hầu hết đều có thể chấp nhận được. Tôi chưa làm việc với RSS nhưng không có nhiều sự khác biệt giữa RSS và web cạo. Ngoài ra còn có một tùy chọn thứ tư không được đề cập trong câu trả lời của Jeff ... một tùy chọn mà bạn lấy dữ liệu của mình hàng đêm, ví dụ: tệp .CSV thông qua FTP và tương tự.
Cuộc sống thật tệ (mini-rant)
Và sau đó là sự phức tạp. Bạn càng muốn thêm nhiều giá trị, bạn càng phải xử lý phức tạp hơn. Bạn có thể tìm kiếm chỗ ở cho phép vật nuôi không? Đối với một nhà trọ nằm cách trung tâm thị trấn chưa đầy 5 km? Bạn có đang kết hợp các chuyến bay và bạn có thể đảm bảo rằng khách du lịch sẽ có đủ thời gian để đi từ sân bay này đến sân bay khác ... bạn có thể bán phương tiện đi lại trước không? Một nghệ sĩ cello nổi tiếng không muốn chia tay chiếc đàn Cello quý giá của mình ở thế kỷ 18; bạn có thể bán cho anh ta một chỗ ngồi khác cho đàn cello (vâng, không làm cho cái này)?
Muốn so sánh giá? Chắc chắn, tiền phòng là 30 EUR một đêm. Nhưng bạn có thể nhận được một giường đôi cho 30 người và một giường đơn cho 20 người hoặc bạn có thể nhận một giường phụ cho một giường đôi và được giảm giá 70% cho người thứ ba. Nhưng chỉ khi đó là trẻ em dưới 12 tuổi; giường phụ của chúng tôi không dành cho người lớn. Và bạn không nhận được giá giường phụ trong kết quả tìm kiếm - chỉ khi bạn tính được giá cuối cùng.
Và thậm chí không giúp tôi bắt đầu với bao bì động. Muốn bán chỗ ở + cho thuê xe hơi? Không vấn đề gì; tích hợp với hai nhà cung cấp khác nhau, và bạn cứ ... tự cập nhật danh sách các địa điểm trong thành phố (từ nhà cung cấp dịch vụ cho thuê xe) để khớp với các khách sạn (từ nhà cung cấp chỗ ở, người chỉ cung cấp cho bạn thành phố cho mỗi khách sạn). Tất nhiên, với điều kiện là bạn đã khớp danh sách các thành phố của cả hai, vì không có tiêu chuẩn quốc tế nào cho mã thành phố.
Không giống như nhiều ngành công nghiệp khác có nhiều sản phẩm, ngành du lịch lữ hành có nhiều sản phẩm rất phức tạp. Amazon có nó dễ dàng; bán sách và bán khoai tây, nó giống nhau; bạn thậm chí có thể gửi chúng trong cùng một hộp. Chúng kết hợp dễ dàng và không được lắp ráp từ nhiều bộ phận. :)
PS Liên kết đến một chủ đề thú vị gần đây trên Hacker News với một số thông tin nội bộ về các chuyến bay . PPS Gần đây đã tình cờ phát hiện ra một bài đăng trên blog khá cũ về giao thức NDC của IATA với tổng quan về cách ngành du lịch được kết nối và một bài học lịch sử về cách thức hoạt động của điều này .