1+ package com .expediagroup .sdk .rapid .examples .services ;
2+
3+ import com .expediagroup .sdk .core .model .Response ;
4+ import com .expediagroup .sdk .rapid .examples .Constants ;
5+ import com .expediagroup .sdk .rapid .models .Coordinates1 ;
6+ import com .expediagroup .sdk .rapid .models .GuestCounts ;
7+ import com .expediagroup .sdk .rapid .models .LineOfBusiness ;
8+ import com .expediagroup .sdk .rapid .models .PageType ;
9+ import com .expediagroup .sdk .rapid .models .RequestCriteria ;
10+ import com .expediagroup .sdk .rapid .models .SalesChannel ;
11+ import com .expediagroup .sdk .rapid .models .SearchCriteria ;
12+ import com .expediagroup .sdk .rapid .models .SponsoredContentRequest ;
13+ import com .expediagroup .sdk .rapid .models .SponsoredContentResponse ;
14+ import com .expediagroup .sdk .rapid .operations .PostAdDeliveryOperation ;
15+ import com .expediagroup .sdk .rapid .operations .PostAdDeliveryOperationParams ;
16+
17+ import java .math .BigDecimal ;
18+ import java .time .LocalDate ;
19+ import java .util .Arrays ;
20+ import java .util .List ;
21+ import java .util .UUID ;
22+
23+ public class SponsoredContentService extends RapidService {
24+
25+ public Response <SponsoredContentResponse > getSponsoredContent (List <String > propertyIds ) {
26+ PostAdDeliveryOperationParams postAdDeliveryOperationParams = getPostAdDeliveryOperationParams ();
27+
28+ SponsoredContentRequest sponsoredContentRequest = SponsoredContentRequest .builder ()
29+ .searchCriteria (
30+ SearchCriteria .builder ()
31+ .checkin (LocalDate .now ().plusDays (20 ).toString ())
32+ .checkout (LocalDate .now ().plusDays (23 ).toString ())
33+ .occupancy (Arrays .asList (GuestCounts .builder ().adultCount (2 ).childCount (0 ).build ()))
34+ .searchLinesOfBusiness (Arrays .asList (LineOfBusiness .LODGING ))
35+ .properties (propertyIds )
36+ .pageType (PageType .SEARCH_RESULTS )
37+ .build ()
38+ ).requestCriteria (
39+ RequestCriteria .builder ()
40+ .salesChannel (SalesChannel .WEBSITE )
41+ .countryCode ("US" )
42+ .experimentIds (Arrays .asList ("1234" ))
43+ .language ("en-US" )
44+ .travelerLocation (Coordinates1 .builder ()
45+ .latitude (BigDecimal .valueOf (37.7749 ))
46+ .longitude (BigDecimal .valueOf (-122.4194 ))
47+ .build ())
48+ .build ())
49+ .build ();
50+ PostAdDeliveryOperation postAdDeliveryOperation =
51+ new PostAdDeliveryOperation (postAdDeliveryOperationParams , sponsoredContentRequest );
52+
53+ return rapidClient .execute (postAdDeliveryOperation );
54+ }
55+
56+ private PostAdDeliveryOperationParams getPostAdDeliveryOperationParams () {
57+ PostAdDeliveryOperationParams postAdDeliveryOperationParams = PostAdDeliveryOperationParams
58+ .builder ()
59+ .traceId (UUID .randomUUID ())
60+ .customerIp (Constants .CUSTOMER_IP )
61+ .customerSessionId (Constants .CUSTOMER_SESSION_ID )
62+ .build ();
63+ return postAdDeliveryOperationParams ;
64+ }
65+ }
0 commit comments