-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAirbnbListing.java
154 lines (130 loc) · 3.83 KB
/
AirbnbListing.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/**
* Represents one listing of a property for rental on Airbnb.
* This is essentially one row in the data table. Each column
* has a corresponding field.
*/
public class AirbnbListing {
/**
* The id and name of the individual property
*/
private String id;
private String name;
/**
* The id and name of the host for this listing.
* Each listing has only one host, but one host may
* list many properties.
*/
private String host_id;
private String host_name;
/**
* The grouped location to where the listed property is situated.
* For this data set, it is a london borough.
*/
private String neighbourhood;
/**
* The location on a map where the property is situated.
*/
private double latitude;
private double longitude;
/**
* The type of property, either "Private room" or "Entire Home/apt".
*/
private String room_type;
/**
* The price per night's stay
*/
private int price;
/**
* The minimum number of nights the listed property must be booked for.
*/
private int minimumNights;
private int numberOfReviews;
/**
* The date of the last review, but as a String
*/
private String lastReview;
private double reviewsPerMonth;
/**
* The total number of listings the host holds across AirBnB
*/
private int calculatedHostListingsCount;
/**
* The total number of days in the year that the property is available for
*/
private int availability365;
/**
* Constructor class, representing one AirBnb listing
*
* @param All parameters explained in field declarations
*/
public AirbnbListing(String id, String name, String host_id,
String host_name, String neighbourhood, double latitude,
double longitude, String room_type, int price,
int minimumNights, int numberOfReviews, String lastReview,
double reviewsPerMonth, int calculatedHostListingsCount, int availability365) {
this.id = id;
this.name = name;
this.host_id = host_id;
this.host_name = host_name;
this.neighbourhood = neighbourhood;
this.latitude = latitude;
this.longitude = longitude;
this.room_type = room_type;
this.price = price;
this.minimumNights = minimumNights;
this.numberOfReviews = numberOfReviews;
this.lastReview = lastReview;
this.reviewsPerMonth = reviewsPerMonth;
this.calculatedHostListingsCount = calculatedHostListingsCount;
this.availability365 = availability365;
}
/**
* Below are accessor methods to access information about an AirBnb listing
* for use throughout the application.
*/
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getHost_id() {
return host_id;
}
public String getHost_name() {
return host_name;
}
public String getNeighbourhood() {
return neighbourhood;
}
public double getLatitude() {
return latitude;
}
public double getLongitude() {
return longitude;
}
public String getRoom_type() {
return room_type;
}
public int getPrice() {
return price;
}
public int getMinimumNights() {
return minimumNights;
}
public int getNumberOfReviews() {
return numberOfReviews;
}
public String getLastReview() {
return lastReview;
}
public double getReviewsPerMonth() {
return reviewsPerMonth;
}
public int getCalculatedHostListingsCount() {
return calculatedHostListingsCount;
}
public int getAvailability365() {
return availability365;
}
}