Overrides

This resource represents a reason why one might not be able to meet a particular requirement on their booking. By creating an Override, the requirement will no longer be necessary for the passenger to be Good To Go.

XML Schema:

Fields

Name

Type

Description

id (read-only)

String

href (read-only)

Field

customer (required)

Reference Object

The customer for whom this override applies.

booking (required)

Reference Object

The booking for which this override applies.

services (required)

Field

The services for which this override applies.

reason (required)

Nested Object

The override reason that should be used to override.

  • id (read-only)

String

  • href (read-only)

Field

  • label (read-only)

String

The label identifying this override reason.

  • code (required)

String

The code identifying this override reason.

requirement (required)

Nested Object

The requirement that is being overridden by this override.

  • code (required)

String

The code identifying this requirement.

Get an override

GET /overrides/(string: overrides_id)/

Example request:

GET /overrides/1 HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type:application/json

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "1",
    "booking": {
        "href": "http://gapiapps.local:5000/bookings/67890",
        "id": "67890"
    },
    "customer": {
        "href": "http://gapiapps.local:5000/customers/234556",
        "id": "234556"
    },
    "reason": {
        "code": "REASON",
        "href": "http://gapiapps.local:5000/override_reasons/1",
        "id": "1",
        "label": "Reason for override"
    },
    "requirement": {
        "code" : "REQUIREMENT"
    },
    "services": [
        {
            "href": "http://gapiapps.local:5000/services/12345",
            "id": "12345"
        },
        {
            "href": "http://gapiapps.local:5000/services/12346",
            "id": "12346"
        }
    ]
}

List overrides

GET /bookings/(string: booking_id)/overrides

Example request:

GET bookings/67890/overrides HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type:application/json

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "count": "1",
    "current_page": "1",
    "links": "[]",
    "results": [
        {
            "id": "1",
            "booking": {
                "href": "http://gapiapps.local:5000/bookings/67890",
                "id": "67890"
            },
            "customer": {
                "href": "http://gapiapps.local:5000/customers/234556",
                "id": "234556"
            },
            "reason": {
                "code": "REASON",
                "href": "http://gapiapps.local:5000/override_reasons/1",
                "id": "1",
                "label": "Reason for override"
            },
            "requirement": {
                "code" : "REQUIREMENT"
            },
            "services": [
                {
                    "href": "http://gapiapps.local:5000/services/12345",
                    "id": "12345"
                },
                {
                    "href": "http://gapiapps.local:5000/services/12346",
                    "id": "12346"
                }
            ]
        }
    ]
}

Create an Override

Overrides are created by making HTTP POST request to /overrides/ resource.

Example request:

POST /overrides/ HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type:application/json

{
    "booking": {
        "id" : 67890
    },
    "customer": {
        "id" : 234556
    },
    "services": [
        {
            "id" : 12345
        },
        {
            "id" : 12346
        }
    ],
    "reason": {
        "code" : "REASON"
    }
    "requirement": {
        "code" : "REQUIREMENT"
    }
}

Example response:

HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "id": "1",
    "booking": {
        "href": "http://gapiapps.local:5000/bookings/67890",
        "id": "67890"
    },
    "customer": {
        "href": "http://gapiapps.local:5000/customers/234556",
        "id": "234556"
    },
    "reason": {
        "code": "REASON",
        "href": "http://gapiapps.local:5000/override_reasons/1",
        "id": "1",
        "label": "Reason for override"
    },
    "requirement": {
        "code" : "REQUIREMENT"
    },
    "services": [
        {
            "href": "http://gapiapps.local:5000/services/12345",
            "id": "12345"
        },
        {
            "href": "http://gapiapps.local:5000/services/12346",
            "id": "12346"
        }
    ]
}

Update an Override

PATCH /overrides/(string: override_id)/

Example request:

PATCH /bookings/628168/ HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type: application/json

{
    "reason": {
        "code" : "NEW_REASON"
    }
}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "1",
    "booking": {
        "href": "http://gapiapps.local:5000/bookings/67890",
        "id": "67890"
    },
    "customer": {
        "href": "http://gapiapps.local:5000/customers/234556",
        "id": "234556"
    },
    "reason": {
        "code": "NEW_REASON",
        "href": "http://gapiapps.local:5000/override_reasons/1",
        "id": "1",
        "label": "New Reason for override"
    },
    "requirement": {
        "code" : "REQUIREMENT"
    },
    "services": [
        {
            "href": "http://gapiapps.local:5000/services/12345",
            "id": "12345"
        },
        {
            "href": "http://gapiapps.local:5000/services/12346",
            "id": "12346"
        }
    ]
}

Delete an Override

DELETE /overrides/(string: override_id)/

Example request:

DELETE /overrides/1 HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type: application/json

Example response:

HTTP/1.1 204 NO CONTENT
Content-Type: application/json