> For the complete documentation index, see [llms.txt](https://docs.vomevolunteer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vomevolunteer.com/resources/editor-1/the-reservation-object.md).

# The Reservation object

**Response Object**:

```json
        {
            "id": "3b87b2ee-5063-471d-a70a-051d165ca1d0",
            "shift": {
                "id": "1f7bb9e7-d891-42bc-b2a5-533cc02ad480",
                "created_at": "2021-07-07T15:41:20.968717Z",
                "shift_start_at": "2021-07-14T17:00:00Z",
                "shift_end_at": "2021-07-14T19:00:00Z",
                "spots": 1,
                "shift_title": "Shift Title A",
                "shift_description": null
            },
            "created_at": "2021-07-07T15:41:20.970080Z",
            "status": 6, //Hours logged 
            "arrival_time": "2021-07-14T17:00:00Z",
            "departure_time": "2021-07-14T19:00:00Z",
            "hours_approved_by": {
                "first_name": "Daniella",
                "last_name": "Smith",
                "email": "daniella_smith@domain.com"
            },
            "logged_hours": 2.0,
            "user": {
                "id": "443f05ad-b1be-43bc-a213-3483471bc7fa",
                "first_name": "Lela",
                "last_name": "Craig",
                "email": "Lela_craig@mailinator.com",
                "gender": 1, //Female
                "address": "3949 Decarie Boulevard, Montreal, QC, Canada",
                "phone_number": "929384838",
                "date_of_birth": "1973-03-04",
                "timezone": "America/Toronto",
                "address_coordinates": [
                    "45.5011136",
                    "-73.5793778"
                ]
            },
            "opportunity": {
                "id": "14e21aad-869d-4384-be7b-e12cb8c0dc3d",
                "category": {
                    "id": "9d20cefb-002a-42d9-bce4-9937dd8444b5",
                    "title": "Program ABC",
                    "description": "Description of Program ABC"
                },
                "title": "Transportation",
                "description": "Description of transportation"
            }
        }
```

The response object returns detailed information about a user's reservation. Here's a summary of the key fields:

* **id** (`string`): The unique identifier for the user's reservation to the shift.
* **shift** (`object`): Information about the related shift, including:
  * **id** (`string`): Identifier for the shift.
  * **created\_at** (`string`): The timestamp when the shift was created.
  * **shift\_start\_at**, **shift\_end\_at** (`string`): The start and end times of the shift.
  * **spots** (`integer`): Number of spots associated with the shift.
  * **shift\_title**, **shift\_description** (`string`): Title and description of the shift.
* **created\_at** (`string`): The timestamp when the reservation was created.
* **status** (`integer`): Integer representing the reservation status, where:
  * `0`: Shift request pending
  * `1`: Reserved
  * `2`: Shift request declined
  * `3`: Attendance confirmed
  * `4`: Absent
  * `5`: Checked-in
  * `6`: Hours logged
  * `7`: Hour claim pending
  * `8`: Cancelled
* **logged\_hours** (`array`): The total hours logged for the reservation.
* **hours\_approved\_by** (`array`): Information on the person who approved the hours, including name and email. This is only applicable if the admin checked-out the user from their profile. If the user was logged using the QR code, it would be `null`.&#x20;
  * **first\_name** (`string`): First name of the admin who approved the hours.
  * **last\_name** (`string`): Last name of the admin who approved the hours.
  * **email** (`string`): Email address of the admin who approved the hours.
* **arrival\_time** and **departure\_time** (`string`)**:** These represent the check-in and check-out times, respectively. They are used to calculate the hours logged for the reservation.
* **user** (**User Object**): Details about the user, including:
  * **id**: Unique identifier of the user.
  * **first\_name** (`string`): First name of the user.
  * **last\_name** (`string`): Last name of the user.
  * **email** (`string`): Email address of the user.
  * **gender** (`integer`): Integer indicating gender, where:
    * `0` = Male
    * `1` = Female
    * `2` = Other
    * `3` = Rather not say
  * **address** (`string`): The complete address of the user.
  * **phone\_number** (`string`): Phone number of the user.
  * **date\_of\_birth** (`string`): The date of birth of the user.
  * **timezone** (`string` ): Timezone of the user
  * **address\_coordinates** (`array`): Geographic coordinates of the user if an address was address via Google Maps. If the address was added via the import process, this data would not be available.
* **opportunity** (**Opportunity Object**): Details about the associated opportunity to this shift, including
  * **id** (`string`): Identifier of the opportunity.
  * **title** (`string`): Title of the opportunity.
  * **description** (`string`): Description of the opportunity.
  * **category** (**Category Object**): Details of the related category to this opportunity&#x20;
    * **id** (`string`): Identifier of the category.
    * **title** (`string`): Title of the category.
    * **description** (`string`): Description of the category.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.vomevolunteer.com/resources/editor-1/the-reservation-object.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
