diff --git a/frontend/src/components/ViewTrips/trip.js b/frontend/src/components/ViewTrips/trip.js
index 1258d30d..ca35bdd1 100644
--- a/frontend/src/components/ViewTrips/trip.js
+++ b/frontend/src/components/ViewTrips/trip.js
@@ -1,4 +1,29 @@
import React from 'react';
+import Button from 'react-bootstrap/Button';
+
+import ViewActivitiesButton from './view-activities-button.js';
+
+/**
+ * Returns the date range of the trip associated with the Trip document data
+ * `tripObj`.
+ *
+ * Notes:
+ * - tripObj will always contain valid start_date and end_date fields.
+ * - When the Firestore Timestamps contained in `tripObj` converted to js
+ * dates, the months are 0 indexed rather than 1 indexed so they must be
+ * incremented by 1 in order for the month to be correct.
+ *
+ * @param {firebase.firestore.DocumentData} tripObj Object containing the fields
+ * and values for a Trip document.
+ * @return Date range of the trip (if it exists).
+ */
+export function getDateRange(tripObj) {
+ const startDate = tripObj.start_date.toDate();
+ const endDate = tripObj.end_date.toDate();
+ return `${startDate.getMonth() + 1}/${startDate.getDate()}/` +
+ `${startDate.getFullYear()} - ${endDate.getMonth() + 1}/` +
+ `${endDate.getDate()}/${endDate.getFullYear()}`;
+}
/**
* Component corresponding to the container containing an individual trip.
@@ -7,11 +32,6 @@ import React from 'react';
* when trips are added and/or editted. Thus, no error checking is done here
* on the 'display' side.
*
- * TODO(Issue 17): Feed all the Trip Doc data to the UI.
- * Temporarily, only the title and associated document ID are included in a
- * text element for each trip
element. This is done to simple test the
- * query functionality.
- *
* @param {Object} props These are the props for this component:
* - tripObj: JS object holding a Trip document fields and corresponding values.
* - tripId: Document ID for the current Trip document.
@@ -20,7 +40,14 @@ const Trip = (props) => {
return (