Gire Public API (v2)

Customers of Gire can order Pickup and Delivery of cars (PUDs) using this API. The documentation should help you set up the integration. If you have any questions, reach out to tech@giremobility.com

Notice: New API Version Available

We encourage users to review our updated API for enhanced features and improved performance.

Gire Public API (v3) (beta)

Auth Api Token

For using our API you need to be a customer of Gire

You can get your API token from your customer profile logged in as the main contact/administrator:

https://giremobility.com/customer/profile

Place the api token in header as: "x-api-token": <company api token>

We can also set up a dev environment for you for developing and testing. Please contact tech@giremobility.com

Create a new PUD

POST https://giremobility.com/api/v2/puds

Create one Pickup and Delivery (PUD) in the Gire platform. This method is great if you need to move a car from A to B.

Headers

Request Body

{
    "statusCode": 400,
    "message": [
        "company_name must be a string",
        "customer_name must be a string",
        "customer_phone must be a string",
        "car_model must be a string",
        "reg_number must be a string",
        "pickup_address must be a string",
        "delivery_address must be a string",
        "pickup_datetime must be a valid ISO 8601 date string",
        "delivery_datetime must be a valid ISO 8601 date string"
    ],
    "timestamp": "2022-10-18T09:44:03.160Z",
    "path": "/api/v2/puds/",
    "requestId": "ca5f2063-1f6d-4fac-81d2-fed965297719"
}
Create new PUD body example
{
    "pickup_address": "Pilestredet Park 12A, Oslo",
    "pickup_comment": "parking on the 2nd floor",
    "delivery_address": "Karl Johans gate 12, Oslo",
    "pickup_comment": "parking on the 2nd floor",
    "pickup_postal_code": "0176",
    "delivery_postal_code": "0154",
    "car_model": "Ferrari",
    "reg_number": "MB1234K",
    "customer_name": "John Doe",
    "customer_phone": "420000001",
    "pickup_name": "Tor Fergunsen",
    "pickup_phone": "420000002",
    "delivery_name": "John Wick",
    "delivery_phone": "420000003",
    "pickup_datetime_from": "2023-10-25T13:00:00.000Z",
    "pickup_datetime_to":"2023-10-25T15:00:00.000Z",
    "delivery_datetime": "2023-10-25T18:00:00.000Z",
    "reference_number": "ref-number-123"
}

Some restrictions you should follow to make sure that your PUD will be placed:

pickup_datetime_from must be forward from now (in the feature)
pickup_datetime_to must be at least 4 hours forward from now
pickup_datetime_to must be at least 1 hour forward from pickup_datetime_from
delivery_datetime must be equal or forward from pickup_datetime_to
delivery_datetime should be at least 1 hour forward from pickup_datetime_from
Opening hours

With Gire you can get you car transported the same day as you place the order every day of the week

  • You can book PUDs with pickup and delivery times within our opening hours 06:00-22:00 every day

  • On same day booking, the delivery datetime has to be at least 4 hours forward from current datetime

  • We need 1 hour timeslot for pickup time. Eg. you can book a PUD with Pickup time 08:00-09:00 and delivery time 09:00

Status Values
Status field can have next values: 
- new 
- delegated
- in_progress 
- completed
- cancelled
- missed_trip
Why price = null ?

Usually the price is calculated automatically during PUD creation

But if we can't find the adresses, or we cant automatically find a public transport route to the location, we will set the price = null. Please contact us with more information regarding the PUD and we will manually set a price.

  • Gire Norway - hei@giremobility.com

  • Gire Sweden - hejsan@giremobility.com

  • Gire Denmark - hej@giremobility.com

Standard Delivery Areas

Gires standard delivery areas are based around the cities listed below. This is where we have our driver bases and predefined prices based on zip codes. In the standard delivery areas we have a 4 hour delivery guarantee for same day bookings, and 1 hour guarantee for next day booking. Standard Delivery Areas:

  • Oslo

  • Bergen

  • Trondheim

  • Stavanger

  • Kristiansand

  • Stockholm

  • Copenhagen

We do also pickup and deliver cars outside of these area, but the prices are calculated by an algorithm that is based on travel time for the drivers. Also, we need 0-3 days to deliver on PUDs outside of our standard delivery area.

Get PUD by ID

GET https://giremobility.com/api/v2/puds/{:id}

Path Parameters

Headers

{
    "id": "5089a053-a43d-4a82-a861-4174783a5bcc",
    "status": "completed",
    "pickup_address": "Henrik Ibsens gate 1, Oslo",
    "pickup_comment": "parking on the 2nd floor",
    "delivery_address": "Tryvannstårnet, Oslo",
    "delivery_comment": "parking on the 2nd floor",
    "pickup_postal_code": "0255",
    "delivery_postal_code": "0782",
    "car_model": "Car Model",
    "reg_number": "AA12345",
    "company_name": "Car Service Company",
    "customer_name": "John Smith",
    "customer_phone": "+47111111111111",
    "pickup_name": "Kari Nordmann",
    "pickup_phone": "+4722222222222",
    "delivery_name": "John Wick",
    "delivery_phone": "+472244444444",
    "comment": "Here you can write extra information to the driver",
    "pickup_datetime_from": "2022-10-28T09:00:00.000Z",
    "pickup_datetime_to": "2022-10-28T12:00:00.000Z",
    "delivery_datetime": "2022-10-28T13:00:00.000Z",
    "created_at": "2022-10-28T08:40:12.279Z",
    "reference_number": "",
    "post_drive_comment": "Driver comment post-trip",
    "pre_drive_comment": "Driver comment pre-trip",
    "started": "2022-10-28T08:48:56.000Z",
    "ended": "2022-10-28T08:48:58.000Z",
    "pre_drive_mileage": 950,
    "post_driver_mileage": 954,
    "region": "no",
    "price": 390,
    "driver_name": "Test Tester",
    "driver_phone": "+47123456789",
    "driver_photo": "",
    "pre_drive_photos": [
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/5377cc50-8cfc-4365-8bb2-58601b23270d.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/5377cc50-8cfc-4365-8bb2-58601b23270d.thumb.200.jpg"
        },
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/c6444003-43a5-4727-bc51-fb507b72ead8.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/c6444003-43a5-4727-bc51-fb507b72ead8.thumb.200.jpg"
        },
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/cb3a35fa-9beb-4de0-a574-28cf2f11fba1.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/cb3a35fa-9beb-4de0-a574-28cf2f11fba1.thumb.200.jpg"
        },
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/853e076d-f71f-4a08-b124-4a85be98581c.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/preDrive/853e076d-f71f-4a08-b124-4a85be98581c.thumb.200.jpg"
        }
    ],
    "post_drive_photos": [
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/afe83b72-c0f0-43fc-ba96-4a608475a4f1.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/afe83b72-c0f0-43fc-ba96-4a608475a4f1.thumb.200.jpg"
        },
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/52c53bc4-57c1-4717-94e9-d3beaff2d470.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/52c53bc4-57c1-4717-94e9-d3beaff2d470.thumb.200.jpg"
        },
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/0eff59eb-5253-4d4e-a90b-18a0a95a074e.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/0eff59eb-5253-4d4e-a90b-18a0a95a074e.thumb.200.jpg"
        },
        {
            "origin": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/40580227-5ad6-44da-a21c-c04332cb1b24.origin.jpg",
            "thumb": "https://gire-photos-stage.s3.eu-north-1.amazonaws.com/cars/5089a053-a43d-4a82-a861-4174783a5bcc/postDrive/40580227-5ad6-44da-a21c-c04332cb1b24.thumb.200.jpg"
        }
    ]
}

Edit PUD

PUT https://giremobility.com/api/v2/puds

You can change the contact information and car data in the PUD before it starts

Request Body

{
	"id": "5089a053-a43d-4a82-a861-4174783a5bcc",
	"status": "completed",
	"pickup_address": "Henrik Ibsens gate 1, Oslo",
    	"pickup_comment": "parking on the 2nd floor",
    	"delivery_address": "Tryvannstårnet, Oslo",
    	"delivery_comment": "parking on the 2nd floor",
	"pickup_postal_code": "0255",
	"delivery_postal_code": "0782",
	"car_model": "Car Model",
	"reg_number": "AA12345",
	"company_name": "Car Service Company",
	"customer_name": "John Smith",
	"customer_phone": "+47111111111111",
	"pickup_name": "Kari Nordmann",
	"pickup_phone": "+4722222222222",
	"comment": "Here you can write extra information to the driver",
	"pickup_datetime_from": "2022-10-28T09:00:00.000Z",
	"pickup_datetime_to": "2022-10-28T12:00:00.000Z",
	"delivery_datetime": "2022-10-28T13:00:00.000Z",
	"created_at": "2022-10-28T08:40:12.279Z",
	"reference_number": "",
	"post_drive_comment": "Driver comment post-trip",
	"pre_drive_comment": "Driver comment pre-trip",
	"started": "2022-10-28T08:48:56.000Z",
	"ended": "2022-10-28T08:48:58.000Z",
	"pre_drive_mileage": 950,
	"post_driver_mileage": 954,
	"region": "no",
	"price": 390,
	"driver_name": "Test Tester",
	"driver_phone": "+47123456789",
	"driver_photo": "",
}

Get list of PUDs

GET https://giremobility.com/api/v2/puds

Query Parameters

Headers

{
    "statusCode": 403,
    "message": "Forbidden resource",
    "timestamp": "2022-10-20T13:55:53.584Z",
    "path": "/api/v2/puds",
    "requestId": "4ba423b7-e85f-4148-91c3-59344cbf4b9d"
}
Get list PUDs query params example:
https://giremobiliy.com/api/v2/puds/?status=completed
&limit=10&page=0&month=1&year=2022&sort_by=pickup_datetime&sort_order=-1

Get count of PUDs for selected filters, returns number

GET https://giremobility.com/api/v2/puds_qty

This method is needed for pagination

Query Parameters

Headers

{
    "statusCode": 403,
    "message": "Forbidden resource",
    "timestamp": "2022-10-20T13:55:53.584Z",
    "path": "/api/v2/puds",
    "requestId": "4ba423b7-e85f-4148-91c3-59344cbf4b9d"
}
Get count of PUDs query params example:
https://giremobility.com/api/v2/puds_qty/?status=completed&month=1&year=2022

PUD Cancellation

DELETE https://giremobility.com/api/v2/puds/{:id}

You might need to cancel a PUD either because you don't longer need transportation, or you have booked a PUD with the wrong details and you need to create a new PUD with correct details.

To cancel a PUD it needs to have one of the two statuses:

-new

-delegated

Also, if pickup datetime is less than 12 hours from current datetime and the PUD is delegated to a driver, it will be considered as "missed_trip" and you will be charged.

Path Parameters

Headers

{
    "statusCode": 400,
    "message": "Order can not be cancelled. It has \"completed\" status",
    "timestamp": "2022-10-18T11:06:45.822Z",
    "path": "/api/v2/puds/e8a66174-0ce8-4f1c-9f5b-330af1e2649c",
    "requestId": "d15e3779-1af1-412d-8db8-b96454d47432"
}

Price Estimation

GET https://giremobility.com/api/v2/price_estimation

Returns the price for trips inside and outside our standard delivery area. Inside our standard delivery area the prices are fixed based on zip codes. For trips outside, the price is only an estimate and it might have smaller variation based on travel time.

Query Parameters

Headers

{
    price: 490,
    out_of_area: false,
    duration_in_seconds: 420,
    distance_in_meters: 420,
    immediate_return: false
}

NOTE: For immediate_return bookings, the duration_in_seconds and distance_in_meters is for one direction.

Price Estimation query params example:
https://giremobility.com/api/v2/price_estimation?pickup_postal_code=5258&delivery_postal_code=0655&delivery_address=flypassvegen 555&pickup_address=ensjøveien11

Note: Please don't forget to use url encoding when you send any text as query params (like search, address etc)

We can also set up a dev environment for you for developing and testing. Please contact tech@giremobility.com

giremobility.com

Last updated