Gire Public API

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

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

NameTypeDescription

x-api-token*

string

auth api token

Request Body

NameTypeDescription

pickup_name

string

pickup person name

customer_phone*

string

customer person phone

customer_name*

string

customer person name

pickup_phone

string

pickup person phone

pickup_datetime_from*

string datetime ISO format

The pick-up time interval starts from. We need a minimum 1 hour pickup time interval.

pickup_datetime_to

string datetime ISO format

The pick-up time interval ends.

If the value is not provided, the default interval is 1 hour.

delivery_datetime*

string datetime ISO format

DateTime by when the car must be delivered

car_model*

string

car model

delivery_postal_code*

string

delivery address

delivery_address*

string

delivery address

pickup_postal_code*

string

pickup postal code

pickup_address*

string

pickup address

reg_number*

string

registration car number

reference_number

string

reference order id

comment

string

comment

delivery_name

string

delivery person name

delivery_phone

string

delivery person phone

test_sign

boolean

set true if test sign is needed

pickup_comment

String

location comment for drivers

delivery_comment

String

location comment for drivers

{
    "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

NameTypeDescription

id*

String

PUD id

Headers

NameTypeDescription

x-api-token*

String

auth api token

{
    "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

NameTypeDescription

id*

String Required

PUD id

car_model

String Optional

car model

comment

String Optional

comment

delivery_phone

String Optional

delivery person phone

delivery_name

String Optional

delivery person name

pickup_phone

String Optional

pick-up person phone

pickup_name

String Optional

pick-up person name

customer_phone

String Optional

customer person phone

customer_name

String Optional

customer person name

reference_number

String Optional

reference order id

reg_number

String Optional

registration car number

{
	"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

NameTypeDescription

status

string enum

new | delegated | in_progress | missed_trip | completed | cancelled

month

number

month filter (january = 1, february = 2, and etc.. )

This filter works only if set month and year

year

number

year filter (example 2022).

This filter works only if set month and year

search

string

Search by reg. number, car model

limit

number

Page Size. By default limit = 10, max = 50

page

number

Page number

sort_by

string

Sort by field, possible values: created_at | pickup_date

sort_order

number

1 or -1

Headers

NameTypeDescription

x-api-token*

string

auth api token

{
    "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

NameTypeDescription

status

string enum

new | delegated | in_progress | missed_trip | completed | cancelled

search

string

search by car model, reg number

year

number

year filter (example 2022).

This filter works only if set month and year

month

number

month filter (january = 1, february = 2, and etc.. )

This filter works only if set month and year

Headers

NameTypeDescription

x-api-token*

string

auth api token

{
    "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

NameTypeDescription

id*

string

PUD id

Headers

NameTypeDescription

x-api-token*

string

auth api token

{
    "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

NameTypeDescription

pickup_address*

string

pickup address

pickup_postal_code*

string

pickup postal code

delivery_address*

string

delivery address

delivery_postal_code*

string

delivery postal code

immediate_return

boolean

immediate return trip

Headers

NameTypeDescription

x-api-token*

string

auth api token

{
    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