Users

This API allows listing, retrieving, creating, updating, archiving, unarchiving and deleting users. Users are identified by their UUID.

List Users

GET /user/

List all users.

Sample request:

GET /user/?pageSize=3 HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json
Query Parameters:
  • sortedBy – can be ordered by email

  • archived – boolean denoting if an archived user must be retrieved

  • firstName – a filtering value for firstName

  • lastName – a filtering value for lastName

Sample response:

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

{
    "count": 11,
    "items": [
        {
            "email": "user1@glidebooks.com",
            "uuid": "37ccb9b4356b43c084792c007e337d32",
            "link": {
              "rel": "detail",
              "url": "https://api.fieldaware.net/user/37ccb9b4356b43c084792c007e337d32"
            }
        },
        {
            "email": "user9@glidebooks.com",
            "uuid": "480964f5cc3941198c66d4d3ed2ba93e",
            "link": {
              "rel": "detail",
              "url": "https://api.fieldaware.net/user/480964f5cc3941198c66d4d3ed2ba93e"
            }
        },
        {
            "email": "user10@glidebooks.com",
            "uuid": "4a1de64d6b184abfb5692d2443dfa4d2",
            "link": {
              "rel": "detail",
              "url": "https://api.fieldaware.net/user/4a1de64d6b184abfb5692d2443dfa4d2"
            }
        }
    ],
    "page": 0,
    "pageSize": 3,
    "sortedBy": []
}

Get User

GET /user/(user_ref)

Retrieve a given user.

Sample request:

GET /user/4a1de64d6b184abfb5692d2443dfa4d2 HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

Sample response:

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

{
    "archived": false,
    "customFields": {},
    "email": "user10@glidebooks.com",
    "firstName": "Blaise",
    "lastName": "Champlin",
    "locale": "en_US",
    "phone": null,
    "platform": "ios",
    "role": "Admin",
    "timezone": "Europe/Dublin",
    "uuid": "4a1de64d6b184abfb5692d2443dfa4d2",
    "canBeSmartScheduled": false,
    "skills": [
            {
                  "uuid": "5c1de75d6b193abfb5692d2443dfa5e3",
                  "name": "Carpentry"
            }
    ]
}

Note

The user password is never included in the response.

Note

Skills are only available to users who have the smart scheduler and job-type/skills feature enabled

Create User

POST /user/

Create a new user.

Sample minimal request: see below for json field values

POST /user/ HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
 "email": "bill.smith@murphy.com",
 "password": "Ra$VwL4S!a",
 "firstName": "William",
 "lastName": "Smith"
}

Sample full request:

POST /user/ HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
 "email": "john.smith@murphy.com",
 "password": "Ar!VwL4S$a",
 "firstName": "John",
 "lastName": "Smith",
 "phone": "1234567890",
 "locale": "en_US",
 "timezone": "US/Eastern",
 "platform": "android",
 "role": "Employee",
 "archived": false,
 "customFields": {},
 "skills": [
      {
            "uuid": "5c1de75d6b193abfb5692d2443dfa5e3"
      }
 ]
}
Request JSON Object:
  • email (string) – The email of the user (required)

  • password (string) – The password of the user (required)

  • firstName (string) – The first name of the user (required)

  • lastName (string) – The last name of the user (required)

  • phone (string) – The telephone number of the user

  • locale (string) – The locale of the user; currently only "en_US" and "en_GB" are supported

  • timezone (string) – The timezone of the user; see below for the list of available timezones

  • platform (string) – The platform of the user; one of "online", "android" or "iphone", defaults to "online"

  • role (string) – The role of the user: one of "Employee", "Manager" or "Contractor", Defaults to "Employee"

  • archived (bool) – Whether user is archived or active (defaults to false)

  • customFields – see Custom Fields

  • skills – A list of skills pertaining to the user

  • skills.uuid – The uuid of the skill pertaining to the user

  • addresses – Start and end location for the user. Valid only if the user can be smart scheduled. See Start and End locations for more details.

  • workingHours – Working Hours for each day of the week for the specified user. See Working Hours for more details.

Sample response:

HTTP/1.1 201 CREATED
Content-Type: application/json
Location: https://api.fieldaware.net/user/3d4769e904eb44c0b2c535fb1d28cb9c

{
  "link": {
    "url": "https://api.fieldaware.net/customer/4d18011294364a85a1c5541b9b4a0eee",
    "rel": "detail"
  },
  "location": {
    "link": {
      "url": "https://api.fieldaware.net/location/3b0fd4f427ac47bfa02c956a8f3179c9",
      "rel": "detail"
    },
    "uuid": "4a1de64d6b184abfb5692d2443dfa4d2",
  },
  "uuid": "3b0fd4f427ac47bfa02c956a8f3179c9",
  "email": "user10@glidebooks.com",
  "firstName": "Blaise",
  "lastName": "Champlin",
  "locale": "en_US",
  "phone": null,
  "platform": "ios",
  "role": "Admin",
  "timezone": "Europe/Dublin",
  "customFields": {},
  "skills": [
      {
            "uuid": "5c1de75d6b193abfb5692d2443dfa5e3",
            "name": "Carpentry"
      }
  ]
}

Update User

PUT /user/(user_ref)

Update a given user.

JSON request body: Same as Create User, but with all properties being optional. The email field is not updateable and it is ignored.

Archived users can not be updated. Attempts to update an archived user result in a HTTP 409 Conflict error. However, users can be updated and archived/unarchived in a single request.

Delete User

DELETE /user/(user_ref)

Delete a given user.

Start and end locations

Warning

This section is valid only if the user can be smart scheduled.

Smart scheduler optimises users’ daily routes between jobs based on distance, time, cost etc. To do so, the user’s starting and ending locations need to be taken into account. These locations are taken either from the business billing location (which is considered their default value), or from the user, as addresses linked to them. Note that the start and end locations can’t never be set to null.

Sample response:

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

{
    "archived": false,
    "customFields": {},
    "email": "user10@glidebooks.com",
    "firstName": "Blaise",
    "lastName": "Champlin",
    "locale": "en_US",
    "phone": null,
    "platform": "ios",
    "role": "Admin",
    "timezone": "Europe/Dublin",
    "uuid": "4a1de64d6b184abfb5692d2443dfa4d2",
    "canBeSmartScheduled": true,
    "addresses": {
      "start": {
        "isBilling": true,
        "country": "United States - billing address",
        "region": "Texas - billing address",
        "postcode": "75073 - billing address",
        "streetName": "1998 Bush Ave - billing address",
        "locality": "McCartney - billing address"
      },
      "end": {
        "isBilling": false,
        "country": "United States",
        "region": "Texas",
        "postcode": "75070",
        "streetName": "1909 Clinton Drive",
        "locality": "McKinney"
      }
    }
}

Start/end locations can be set to different values. In the case of the start location, it can be set to a custom location, or use the default billing address for the business by setting the value to None. In the case of the end location, there is an additional option, which allows to make it correspond with the defined start location, if this is not the default.

Sample request:

PUT /user/ HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
  "addresses": {
    "start": {
        "country": "United States",
        "region": "Texas",
        "postcode": "75070",
        "streetName": "1909 Clinton Drive",
        "locality": "McKinney"
    },
    "end": "start"
  }
}

Working Hours

The user payload contains a workingHours JSON object that includes the Working Hours for each day of the week.

The payload also contains an additional read-only activeException JSON object that includes the uuid of the active Working Hours Exception. If the user has no Working Hours Exception currently active, the activeException is null.

See below for payload examples in GET, POST, and PUT requests.

GET /user/(user_ref)

Sample response:

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

{
  "archived": false,
  "customFields": {},
  "email": "user10@glidebooks.com",
  "firstName": "Blaise",
  "lastName": "Champlin",
  "locale": "en_US",
  "phone": null,
  "platform": "ios",
  "role": "Admin",
  "timezone": "Europe/Dublin",
  "uuid": "4a1de64d6b184abfb5692d2443dfa4d2",
  "canBeSmartScheduled": false,
  "activeException": {
    "uuid": "5b1fg54d9b235cdge6534e3563dfg5e9"
  }
  "workingHours": {
    "monday": {
      "start": "09:00:00",
      "end": "17:00:00",
      "allowedOvertime": 60,
      "enabled": true
    },
    "tuesday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "wednesday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "thursday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "friday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "saturday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": false
    },
    "sunday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": false
    }
  }
}
Response JSON Object:
  • workingHours (obj) – JSON object containing the Working Hours for each day of the week.

  • workingHours.<day> (obj) – JSON object identifying the Working Hours for a specific day of the week. Day can be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday.

  • workingHours.(day).start (str) – start of Working Time in 24-hour format [hh]:[mm]:[ss] or [hh]:[mm].

  • workingHours.(day).end (str) – end of Working Time in 24-hour format [hh]:[mm]:[ss] or [hh]:[mm].

  • workingHours.(day).allowedOvertime (int) – minutes of allowed overtime (0-9999).

  • workingHours.(day).enabled (bool) – true if the day is enabled, false if disabled.

Note

If end is less than or equal to start, then it’s considered to be in the following day.

POST /user/

During the creation of a new user, the workingHours attribute is optional, but if it’s specified then it must include every day of the week, and every inner attribute.

Note

The allowed overtime cannot overlap the next day’s Working Hours. When creating a User with Working Hours, a 409 CONFLICT error is returned if this happens, and the User is not created.

Sample request:

POST /user/ HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
  "email": "john.smith@murphy.com",
  "password": "Ar!VwL4S$a",
  "firstName": "John",
  "lastName": "Smith",
  "phone": "1234567890",
  "locale": "en_US",
  "timezone": "US/Eastern",
  "platform": "android",
  "role": "Employee",
  "archived": false,
  "customFields": {},
  "workingHours": {
    "monday": {
      "start": "09:00:00",
      "end": "17:00:00",
      "allowedOvertime": 60,
      "enabled": true
    },
    "tuesday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "wednesday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "thursday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "friday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": true
    },
    "saturday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": false
    },
    "sunday": {
      "start": "08:00:00",
      "end": "17:00:00",
      "allowedOvertime": 0,
      "enabled": false
    }
  }
}
Request JSON Object:
  • workingHours (obj) – see the description of the object returned by the previous GET request.

PUT /user/(user_ref)

During the update of an existing user, the workingHours attribute, every day of the week, and every inner attribute are optional.

If not specified, then the existing days and attributes will remain unchanged.

Note

The allowed overtime cannot overlap the next day’s Working Hours. When updating the Working Hours, a 409 CONFLICT error is returned if this happens, and changes are not saved.

Sample request:

PUT /user/4a1de64d6b184abfb5692d2443dfa4d2 HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
  "workingHours": {
    "monday": {
      "start": "10:00:00",
      "end": "18:00:00",
      "allowedOvertime": 30,
      "enabled": true
    },
    "wednesday": {
      "start": "12:00:00",
      "end": "14:00:00",
    },
    "thursday": {
      "enabled": false
    }
  }
}
Request JSON Object:
  • workingHours (obj) – see the description of the object returned by the previous GET request.

Enterprise: user group membership

Warning

The following changes are visible only if the organisation using the API is Enterprise-enabled.

Two additional attributes are added to the user payload:

  • primaryGroup, indicating the group the user is based on.

  • groupMembership, indicating the access of the user to the data of groups others that his base. There are two level of access, View-Only and Full Access.

GET /user/(user_ref)

Sample response:

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

{
 "archived": false,
 "customFields": {},
 "email": "user10@glidebooks.com",
 "firstName": "Blaise",
 "lastName": "Champlin",
 "locale": "en_US",
 "phone": null,
 "platform": "ios",
 "role": "Admin",
 "timezone": "Europe/Dublin",
 "uuid": "4a1de64d6b184abfb5692d2443dfa4d2",
 "canBeSmartScheduled": false,
 "primaryGroup": {
   "uuid": "d278b2a84b9a479e912c007bf205f647"
 },
 "groupMembership": [
   {
     "access": "view_only",
     "uuid": "83b5c580acbb45d2aaf2a3b39dbd33e2"
   },
   {
     "access": "full_access",
     "uuid": "49cafe341c1f4cdf924c7f014c457c62"
   },
 ],
}
Request JSON Object:
  • primaryGroup – Indicates the uuid of the group or branch the user is based on.

  • groupMembership – List of the groups to where the user has access to (apart from her base branch). There are two possible access levels, "view_only" and "full_access".

These attributes are also required during creation and update of users.

POST /user/

Sample minimal creation request:

POST /user/ HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
  "email": "bill.smith@murphy.com",
  "password": "Ra$VwL4S!a",
  "firstName": "William",
  "lastName": "Smith",
  "primaryGroup": {
    "uuid": "83b5c580acbb45d2aaf2a3b39dbd33e2"
  }
}

Timekeeper (clock-in clock-out)

Warning

The following changes are visible only if the organisation using the API has the Timekeeper feature enabled.

Time entries can be retrieved though the API, but they cannot be created, edited or deleted. The FieldAware Mobile app is used to create time entries, and to allow the creation, editing and deletion of Notes.

List Time Entries

GET /user/(user_ref)/time_entry

List all time entries (both clock-in and clock-out) between the dates and times specified.

The <start date> and <end date> parameters must be given in ISO 8601 format, and need to be URL-encoded where appropriate. For example, the datetime 2014-01-31 10:00:00, must appear in the URL as 2014-01-31+10%3A00%3A00. The space between the date and time components needs to be URL-encoded (as a ‘+’), and the colons (:) between the hours, minutes and seconds must be encoded as well (as %3A00).

Sample response:

HTTP/1.1 200 OK
Content-Type: application/json
Link: <https://api.fieldaware.net/user/5640e5e7ff4f48c2818b58e32c9e85b2/time_entry?start=2018-01-23&end=2020-01-31&page=0>; rel=first,<https://api.fieldaware.net/user/5640e5e7ff4f48c2818b58e32c9e85b2/time_entry?start=2018-01-23&end=2020-01-31&page=0>; rel=last

{
  "count": 2,
  "pageSize": 20,
  "items": [
    {
      "uuid": "61a432d8a6a84b4d9949406f3431bce2",
      "notes": null,
      "date": "2019-07-08T15:47:35+00:00",
      "link": {
        "url": "https://api.fieldaware.net/user/4a1de64d6b184abfb5692d2443dfa4d2/time_entry/61a432d8a6a84b4d9949406f3431bce2",
        "rel": "detail"
      },
      "user": {
        "link": {
          "url": "https://api.fieldaware.net/user/4a1de64d6b184abfb5692d2443dfa4d2",
          "rel": "detail"
        },
        "uuid": "4a1de64d6b184abfb5692d2443dfa4d2"
      },
      "action": "clockin",
      "lat": 53.337577,
      "lng": -6.273704
    },
    {
      "uuid": "c404d533370e4b78a854e948a162b5fe",
      "notes": null,
      "date": "2019-04-15T15:42:28+00:00",
      "link": {
        "url": "https://api.fieldaware.net/user/4a1de64d6b184abfb5692d2443dfa4d2/time_entry/c404d533370e4b78a854e948a162b5fe",
        "rel": "detail"
      },
      "user": {
        "link": {
          "url": "https://api.fieldaware.net/user/4a1de64d6b184abfb5692d2443dfa4d2",
          "rel": "detail"
        },
        "uuid": "4a1de64d6b184abfb5692d2443dfa4d2"
      },
      "action": "clockout",
      "lat": 53.337484,
      "lng": 53.337484
    }
  ],
  "sortedBy": "date",
  "page": 0
}
Query Parameters:
  • start – starting date (required)

  • end – end date (required)

Sample invocations

/user/4a1de64d6b184abfb5692d2443dfa4d2/time_entry/?start=2014-01-23&end=2014-01-31
Status Codes:

Get Time Entry

GET /user/(user_ref)/time_entry/(time_entry_ref)

Retrieve a given time entry.

Sample response:

GET /user/4a1de64d6b184abfb5692d2443dfa4d2/time_entry/d278b2a84b9a479e912c007bf205f647 HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Content-Type: application/json
Accept: application/json

{
  "lat": 53.337577,
  "uuid": "61a432d8a6a84b4d9949406f3431bce2",
  "notes": null,
  "date": "2019-07-08T15:47:35+00:00",
  "user": {
    "link": {
      "url": "https://api.fieldaware.net/user/4a1de64d6b184abfb5692d2443dfa4d2",
      "rel": "detail"
    },
    "uuid": "d278b2a84b9a479e912c007bf205f647"
  },
  "action": "clockin",
  "lng": -6.273704
}

Associate Location Permit to a User

Warning

The following feature is only available if the Location Permit feature is enabled.

PUT /user/(user_ref)

Updates to a user can now carry a permits key that include a list of uuids for linked permits. Only non-archived permits can be used; a 409 error will be raised if archived permits are used. The GET endpoint will also include the permits key.

Sample request:

PUT /user/d6d22438096503fe72a7c161201c9373 HTTP/1.1
Host: api.fieldaware.net
Authorization: Token 9dcae3660ec84eac94bb506e09a9af40
Accept: application/json

{
  "permits": [
    {"uuid": "00bd62a92a004faea233951510167cad"},
    {"uuid": "bd62a0092a0041510167cadfaea23395"}
  ]
}

Sample response:

HTTP/1.1 204 No Content
Content-Type: application/json
Status Codes:

Available Timezones

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum
Africa/Kigali
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Lome
Africa/Luanda
Africa/Lubumbashi
Africa/Lusaka
Africa/Malabo
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Mogadishu
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Niamey
Africa/Nouakchott
Africa/Ouagadougou
Africa/Porto-Novo
Africa/Sao_Tome
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/Salta
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia
America/Aruba
America/Asuncion
America/Atikokan
America/Bahia
America/Bahia_Banderas
America/Barbados
America/Belem
America/Belize
America/Blanc-Sablon
America/Boa_Vista
America/Bogota
America/Boise
America/Cambridge_Bay
America/Campo_Grande
America/Cancun
America/Caracas
America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
America/Costa_Rica
America/Creston
America/Cuiaba
America/Curacao
America/Danmarkshavn
America/Dawson
America/Dawson_Creek
America/Denver
America/Detroit
America/Dominica
America/Edmonton
America/Eirunepe
America/El_Salvador
America/Fortaleza
America/Glace_Bay
America/Godthab
America/Goose_Bay
America/Grand_Turk
America/Grenada
America/Guadeloupe
America/Guatemala
America/Guayaquil
America/Guyana
America/Halifax
America/Havana
America/Hermosillo
America/Indiana/Indianapolis
America/Indiana/Knox
America/Indiana/Marengo
America/Indiana/Petersburg
America/Indiana/Tell_City
America/Indiana/Vevay
America/Indiana/Vincennes
America/Indiana/Winamac
America/Inuvik
America/Iqaluit
America/Jamaica
America/Juneau
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Kralendijk
America/La_Paz
America/Lima
America/Los_Angeles
America/Lower_Princes
America/Maceio
America/Managua
America/Manaus
America/Marigot
America/Martinique
America/Matamoros
America/Mazatlan
America/Menominee
America/Merida
America/Metlakatla
America/Mexico_City
America/Miquelon
America/Moncton
America/Monterrey
America/Montevideo
America/Montreal
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
America/North_Dakota/Beulah
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Ojinaga
America/Panama
America/Pangnirtung
America/Paramaribo
America/Phoenix
America/Port-au-Prince
America/Port_of_Spain
America/Porto_Velho
America/Puerto_Rico
America/Rainy_River
America/Rankin_Inlet
America/Recife
America/Regina
America/Resolute
America/Rio_Branco
America/Santa_Isabel
America/Santarem
America/Santiago
America/Santo_Domingo
America/Sao_Paulo
America/Scoresbysund
America/Shiprock
America/Sitka
America/St_Barthelemy
America/St_Johns
America/St_Kitts
America/St_Lucia
America/St_Thomas
America/St_Vincent
America/Swift_Current
America/Tegucigalpa
America/Thule
America/Thunder_Bay
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
America/Yakutat
America/Yellowknife
Antarctica/Casey
Antarctica/Davis
Antarctica/DumontDUrville
Antarctica/Macquarie
Antarctica/Mawson
Antarctica/McMurdo
Antarctica/Palmer
Antarctica/Rothera
Antarctica/South_Pole
Antarctica/Syowa
Antarctica/Vostok
Arctic/Longyearbyen
Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau
Asia/Aqtobe
Asia/Ashgabat
Asia/Baghdad
Asia/Bahrain
Asia/Baku
Asia/Bangkok
Asia/Beirut
Asia/Bishkek
Asia/Brunei
Asia/Choibalsan
Asia/Chongqing
Asia/Colombo
Asia/Damascus
Asia/Dhaka
Asia/Dili
Asia/Dubai
Asia/Dushanbe
Asia/Gaza
Asia/Harbin
Asia/Hebron
Asia/Ho_Chi_Minh
Asia/Hong_Kong
Asia/Hovd
Asia/Irkutsk
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Asia/Karachi
Asia/Kashgar
Asia/Kathmandu
Asia/Khandyga
Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Kuwait
Asia/Macau
Asia/Magadan
Asia/Makassar
Asia/Manila
Asia/Muscat
Asia/Nicosia
Asia/Novokuznetsk
Asia/Novosibirsk
Asia/Omsk
Asia/Oral
Asia/Phnom_Penh
Asia/Pontianak
Asia/Pyongyang
Asia/Qatar
Asia/Qyzylorda
Asia/Rangoon
Asia/Riyadh
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Thimphu
Asia/Tokyo
Asia/Ulaanbaatar
Asia/Urumqi
Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
Asia/Yekaterinburg
Asia/Yerevan
Atlantic/Azores
Atlantic/Bermuda
Atlantic/Canary
Atlantic/Cape_Verde
Atlantic/Faroe
Atlantic/Madeira
Atlantic/Reykjavik
Atlantic/South_Georgia
Atlantic/St_Helena
Atlantic/Stanley
Australia/Adelaide
Australia/Brisbane
Australia/Broken_Hill
Australia/Currie
Australia/Darwin
Australia/Eucla
Australia/Hobart
Australia/Lindeman
Australia/Lord_Howe
Australia/Melbourne
Australia/Perth
Australia/Sydney
Canada/Atlantic
Canada/Central
Canada/Eastern
Canada/Mountain
Canada/Newfoundland
Canada/Pacific
Europe/Amsterdam
Europe/Andorra
Europe/Athens
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
Europe/Gibraltar
Europe/Guernsey
Europe/Helsinki
Europe/Isle_of_Man
Europe/Istanbul
Europe/Jersey
Europe/Kaliningrad
Europe/Kiev
Europe/Lisbon
Europe/Ljubljana
Europe/London
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Mariehamn
Europe/Minsk
Europe/Monaco
Europe/Moscow
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
Europe/San_Marino
Europe/Sarajevo
Europe/Simferopol
Europe/Skopje
Europe/Sofia
Europe/Stockholm
Europe/Tallinn
Europe/Tirane
Europe/Uzhgorod
Europe/Vaduz
Europe/Vatican
Europe/Vienna
Europe/Vilnius
Europe/Volgograd
Europe/Warsaw
Europe/Zagreb
Europe/Zaporozhye
Europe/Zurich
Etc/GMT
Indian/Antananarivo
Indian/Chagos
Indian/Christmas
Indian/Cocos
Indian/Comoro
Indian/Kerguelen
Indian/Mahe
Indian/Maldives
Indian/Mauritius
Indian/Mayotte
Indian/Reunion
Pacific/Apia
Pacific/Auckland
Pacific/Chatham
Pacific/Chuuk
Pacific/Easter
Pacific/Efate
Pacific/Enderbury
Pacific/Fakaofo
Pacific/Fiji
Pacific/Funafuti
Pacific/Galapagos
Pacific/Gambier
Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Johnston
Pacific/Kiritimati
Pacific/Kosrae
Pacific/Kwajalein
Pacific/Majuro
Pacific/Marquesas
Pacific/Midway
Pacific/Nauru
Pacific/Niue
Pacific/Norfolk
Pacific/Noumea
Pacific/Pago_Pago
Pacific/Palau
Pacific/Pitcairn
Pacific/Pohnpei
Pacific/Port_Moresby
Pacific/Rarotonga
Pacific/Saipan
Pacific/Tahiti
Pacific/Tarawa
Pacific/Tongatapu
Pacific/Wake
Pacific/Wallis
US/Alaska
US/Arizona
US/Central
US/Eastern
US/Hawaii
US/Mountain
US/Pacific
Etc/UTC