--- openapi: 3.0.1 info: title: Query Location description: "Query Location API is available to provide information regarding Bunnings\ \ locations across AU and NZ.\n## Security\n\nDepending on the scope held, more\ \ or less functionality is available at an endpoint. There are further access\ \ controls in place to ensure the scope of the Query Location functionality is\ \ within a bounds suitable for the client making the request.\n\n\n\ Querying common Bunnings locations information\n\nThe Query Location is built\ \ following the HATEOAS guidelines. When using the API, the client should start\ \ by first calling the `discovery` operation to get a list of possible links\ \ these links can then be followed to perform functions. If no correlation token\ \ is provided when using this service, it will generate a token for you in the\ \ header response." termsOfService: "http://developer.bunnings.com.au/terms" contact: name: Developer Support email: developer@bunnings.com.au version: "1.0" servers: - url: https://location.sandbox.api.bunnings.com.au/location description: BASE URL - For sandbox access (mock data) - url: https://location.stg.api.bunnings.com.au/location description: BASE URL - For test access (test data) - url: https://location.api.bunnings.com.au/location description: BASE URL - For production access (live data) paths: /discovery: get: tags: - "Discovery" summary: Provides an overview to current functionality offered by the API description: "Returns a set of links that are valid operational roots in this API.\ \ These end points can be used for application interaction. Please keep in\ \ mind that some of these link URIs may be templates that will need to be filled\ \ in to be called." operationId: "LOC:001/Discovery/GET" parameters: - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/Discovery" example: _meta: _objectUuid: "1e000b64-0018-4295-8e38-b19b97ea025a" _objectVersion: "2" _links: - rel: "LOC:001/Discovery/GET" href: "https://location.uat.api.bunnings.com.au/location/discovery" methods: - "GET" - rel: "LOC:007/SearchLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations" methods: - "GET" - rel: "LOC:014/SearchServiceTypes/GET" href: "https://location.uat.api.bunnings.com.au/location/service-types" methods: - "GET" - rel: "LOC:015/SearchTradingHours/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours" methods: - "GET" - rel: "LOC:025/SearchTransmissionSummaries/GET" href: "https://location.uat.api.bunnings.com.au/location/transmission-summaries" methods: - "GET" links: LOC:001/Discovery/GET: operationId: "LOC:001/Discovery/GET" description: "Initial discovery endpoint used to find all the root links." LOC:007/SearchLocations/GET: operationId: "LOC:007/SearchLocations/GET" description: "Searches locations." LOC:014/SearchServiceTypes/GET: operationId: "LOC:014/SearchServiceTypes/GET" description: "Searches against service types." LOC:015/SearchTradingHours/GET: operationId: "LOC:015/SearchTradingHours/GET" description: "Adds or updates trading hours for a location." "400": description: "There was a problem with the request. The details are in an\ \ RFC 7807 compliant problem. [RFC 7807](https://tools.ietf.org/html/rfc7807)" content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" "429": description: "Too many request back off and try again later" "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /locations/{serverState}/trading-hours: get: tags: - "Locations" summary: "Retrieves trading hours for a location. (Auth loc:pub)" description: "Retrieves trading hours for a location." operationId: "LOC:008/LocationTradingHours/GET" parameters: - name: "serverState" in: "path" description: "To call this operation server state is required, server state\ \ is obtained from the result of a previous call on this API that returned\ \ an entity with a rel pointing at this endpoint this is part of the API's\ \ HATEOAS design. When a returned entity has a rel for this operation the\ \ _meta collection on that object will contain a serverState property the\ \ value of that property is what should be passed as this parameter. The\ \ rel's href property will have a URI template that can be called by simply\ \ replacing {serverState} template variable with the value from _meta.serverState.\ \ To find the starting operations of this API call the /discovery operation.\ \ \r\n\r\nServer state is an opaque string that should be passed as received\ \ back to the API in subsequent calls. the form content and structure of\ \ the server state may change and is at the discretion of the API." required: true schema: type: "string" - name: "continuationToken" in: "query" description: "Optional continuation token that allows for paging to the next\ \ result set." schema: type: "string" nullable: true - name: "isExceptional" in: "query" description: "Flag to indicate that all standard trading hours should be excluded." schema: type: "boolean" default: false - name: "isFuture" in: "query" description: "Flag to indicate that only effective future dated trading hours\ \ be returned." schema: type: "boolean" default: false - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" - name: "$skip" in: "query" description: "skip can be used to skip the first n number of results of the\ \ sequences of entities of the collection.\n\nexample: $skip=5" schema: minimum: 0 type: "integer" - name: "$top" in: "query" description: "top can be used to take the first n number of results of the\ \ sequences of entities of the collection. the maximum value for top is\ \ 1000\n\nexample: $top=5" schema: minimum: 1 type: "integer" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/TradingHoursResponse" example: tradingHours: - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "STANDARD" standard: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" publicHoliday: null storeClosure: null tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "c18d019c-21e9-435f-9c72-5d1a4877e891" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwN5UGXVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "PUBLIC_HOLIDAY" standard: null publicHoliday: name: "Christmas Day" openingTime: "7:00AM" closingTime: "10:00PM" date: "2020-12-25T00:00:00Z" storeClosure: null tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "955d0440-ab04-4b95-a344-5a0af61ab7fb" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwPTUWXVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "STORE_CLOSURE" standard: null publicHoliday: null storeClosure: date: "2021-11-13T00:00:00Z" tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "18a06b08-9fef-4b50-9bdc-85858f47cc11" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwMtUmXVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" _meta: {} _links: [] links: LOC:008/LocationTradingHours/GET#NextPage: operationId: "LOC:008/LocationTradingHours/GET#NextPage" description: "Returns the trading hours against a given location." LOC:015/SearchTradingHours/GET#NextPage: operationId: "LOC:015/SearchTradingHours/GET#NextPage" description: "Adds or updates trading hours for a location." LOC:018/GetTradingHour/GET: operationId: "LOC:018/GetTradingHour/GET" description: "Returns details about a trading hour." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "404": description: "Not Found" content: application/json: schema: $ref: "#/components/schemas/MissingResourceProblemDetails" "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /locations/{serverState}: get: tags: - "Locations" summary: "Returns details about a known location. (Auth loc:pub)" description: "Returns details about a known location." operationId: "LOC:005/GetLocation/GET" parameters: - name: "serverState" in: "path" description: "To call this operation server state is required, server state\ \ is obtained from the result of a previous call on this API that returned\ \ an entity with a rel pointing at this endpoint this is part of the API's\ \ HATEOAS design. When a returned entity has a rel for this operation the\ \ _meta collection on that object will contain a serverState property the\ \ value of that property is what should be passed as this parameter. The\ \ rel's href property will have a URI template that can be called by simply\ \ replacing {serverState} template variable with the value from _meta.serverState.\ \ To find the starting operations of this API call the /discovery operation.\ \ \r\n\r\nServer state is an opaque string that should be passed as received\ \ back to the API in subsequent calls. the form content and structure of\ \ the server state may change and is at the discretion of the API." required: true schema: type: "string" - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/BunLocation" example: locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" locationCode: "2010" name: "Balcatta Warehouse" countryCode: "AU" type: code: "WA" name: "Warehouse" subType: code: "WA" name: "Warehouse" inventoryType: "Retail Hardware Site" tradeDateRange: start: "1998-01-04T00:00:00Z" end: null region: code: "WA" name: "Western Australia" timezone: "Australia/Perth" address: line1: "191 Balcatta Road" line2: null line3: null townCity: "Balcatta" postCode: "6021" state: "WA" country: "AU" phone: "+61 8 9344 0300" email: "Balcatta@bunnings.com.au" fax: "+61 8 9344 0399" tradeRegion: "Metro" isStore: true isModel: false isSupport: false isClosed: false isActive: true isTrading: true hasClickAndCollect: true hasDriveAndCollect: false hasClickAndDeliver: true friendlyName: "Balcatta" geoLocation: lat: -34.13321 long: 115.54621 serviceTypes: null tradingHours: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" storeMap: null maximumAisleNumber: 97 _meta: _objectUuid: "d7723da5-53ee-46de-a91c-dd223b3728e6" _objectVersion: "1" serverState: "AWxvY2F0aW9ucwNlY2IzYWE0Ni05Y2U2LTFhYzAtNDIyMi1iNTE0MTFiYTNkZDMDA7kqc9VTjNgI" _links: - rel: "LOC:007/SearchLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations" methods: - "GET" - rel: "LOC:005/GetLocation/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}" methods: - "GET" - rel: "LOC:024/NearestLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/nearest" methods: - "GET" - rel: "LOC:008/LocationTradingHours/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}/trading-hours" methods: - "GET" links: LOC:005/GetLocation/GET: operationId: "LOC:005/GetLocation/GET" description: "Retrives details for a given location." LOC:007/SearchLocations/GET: operationId: "LOC:007/SearchLocations/GET" description: "Searches locations." LOC:008/LocationTradingHours/GET: operationId: "LOC:008/LocationTradingHours/GET" description: "Returns the trading hours against a given location." LOC:024/NearestLocations/GET: operationId: "LOC:024/NearestLocations/GET" description: "Retrieves nearest locations by latitude and longitude." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "404": description: "Not Found" content: application/json: schema: $ref: "#/components/schemas/MissingResourceProblemDetails" "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /locations/nearest: get: tags: - "Locations" summary: "Retrieves nearest locations by latitude and longitude. (Auth loc:pub)" description: "Retrieves nearest locations by latitude, longitude and diameter\ \ in kilometers." operationId: "LOC:024/NearestLocations/GET" parameters: - name: "continuationToken" in: "query" description: "Optional continuation token that allows for paging to the next\ \ result set." schema: type: "string" nullable: true - name: "latitude" in: "query" description: "Latitude to search against." required: true schema: maximum: 90 minimum: -90 type: "string" - name: "longitude" in: "query" description: "Longitude to search against." required: true schema: maximum: 180 minimum: -180 type: "string" - name: "diameter" in: "query" description: "Diameter in kilometers." schema: type: "integer" format: "int32" default: 50 - name: "maxResults" in: "query" description: "Maximum locations to return." schema: type: "integer" format: "int32" default: 10 - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" - name: "$skip" in: "query" description: "skip can be used to skip the first n number of results of the\ \ sequences of entities of the collection.\n\nexample: $skip=5" schema: minimum: 0 type: "integer" - name: "$top" in: "query" description: "top can be used to take the first n number of results of the\ \ sequences of entities of the collection. the maximum value for top is\ \ 1000\n\nexample: $top=5" schema: minimum: 1 type: "integer" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/LocationsResponse" example: locations: - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" locationCode: "2010" name: "Balcatta Warehouse" countryCode: "AU" type: code: "WA" name: "Warehouse" subType: code: "WA" name: "Warehouse" inventoryType: "Retail Hardware Site" tradeDateRange: start: "1998-01-04T00:00:00Z" end: null region: code: "WA" name: "Western Australia" timezone: "Australia/Perth" address: line1: "191 Balcatta Road" line2: null line3: null townCity: "Balcatta" postCode: "6021" state: "WA" country: "AU" phone: "+61 8 9344 0300" email: "Balcatta@bunnings.com.au" fax: "+61 8 9344 0399" tradeRegion: "Metro" isStore: true isModel: false isSupport: false isClosed: false isActive: true isTrading: true hasClickAndCollect: true hasDriveAndCollect: false hasClickAndDeliver: true friendlyName: "Balcatta" geoLocation: lat: -34.13321 long: 115.54621 serviceTypes: null tradingHours: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" storeMap: null maximumAisleNumber: 97 _meta: _objectUuid: "727dbfb9-0550-4611-92b2-97793b5d056e" _objectVersion: "1" serverState: "AWxvY2F0aW9ucwNlY2IzYWE0Ni05Y2U2LTFhYzAtNDIyMi1iNTE0MTFiYTNkZDMDA1g-fdVTjNgI" _links: - rel: "LOC:007/SearchLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations" methods: - "GET" - rel: "LOC:005/GetLocation/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}" methods: - "GET" - rel: "LOC:024/NearestLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/nearest" methods: - "GET" - rel: "LOC:008/LocationTradingHours/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}/trading-hours" methods: - "GET" - locationGln: "c569d3e0-42b2-2cac-687d-aaf737fb828e" locationCode: "8168" name: "Maroochydore Trade Centre" countryCode: "AU" type: code: "TD" name: "Trade Distribution Centre" subType: null inventoryType: "Trade Hardware Site" tradeDateRange: start: "2011-11-10T00:00:00Z" end: null region: code: "QLD" name: "Queensland" timezone: "Australia/Brisbane" address: line1: "547 Maroochydore Rd" line2: null line3: null townCity: "Kunda Park" postCode: "4556" state: "QLD" country: "Australia" phone: "07 5456 9200" email: null fax: null tradeRegion: null isStore: true isModel: false isSupport: false isClosed: false isActive: true isTrading: true hasClickAndCollect: true hasDriveAndCollect: false hasClickAndDeliver: true friendlyName: null geoLocation: lat: -34.13321 long: 115.54621 serviceTypes: null tradingHours: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" storeMap: null maximumAisleNumber: 97 _meta: _objectUuid: "a17190f4-8d0c-44ac-b0a3-8f1678b15546" _objectVersion: "1" serverState: "AWxvY2F0aW9ucwNjNTY5ZDNlMC00MmIyLTJjYWMtNjg3ZC1hYWY3MzdmYjgyOGUDAwtBfdVTjNgI" _links: - rel: "LOC:007/SearchLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations" methods: - "GET" - rel: "LOC:005/GetLocation/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}" methods: - "GET" - rel: "LOC:024/NearestLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/nearest" methods: - "GET" - rel: "LOC:008/LocationTradingHours/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}/trading-hours" methods: - "GET" _meta: {} _links: [] links: LOC:007/SearchLocations/GET#NextPage: operationId: "LOC:007/SearchLocations/GET#NextPage" description: "Searches locations." LOC:024/NearestLocations/GET#NextPage: operationId: "LOC:024/NearestLocations/GET#NextPage" description: "Retrieves nearest locations by latitude and longitude." LOC:005/GetLocation/GET: operationId: "LOC:005/GetLocation/GET" description: "Retrives details for a given location." LOC:007/SearchLocations/GET: operationId: "LOC:007/SearchLocations/GET" description: "Searches locations." LOC:008/LocationTradingHours/GET: operationId: "LOC:008/LocationTradingHours/GET" description: "Returns the trading hours against a given location." LOC:024/NearestLocations/GET: operationId: "LOC:024/NearestLocations/GET" description: "Retrieves nearest locations by latitude and longitude." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /locations: get: tags: - "Locations" summary: "Provides search functionality against locations. (Auth loc:pub)" description: "Provides search functionality against locations." operationId: "LOC:007/SearchLocations/GET" parameters: - name: "continuationToken" in: "query" description: "Optional continuation token that allows for paging to the next\ \ result set." schema: type: "string" nullable: true - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" - name: "$filter" in: "query" description: "Filter can be optionally used to filter out entities of the\ \ collection. \nA filter is comprised of one or more expressions joined\ \ with the following logical operators listed bellow in precedence order.\n\ \n*Allowed Logical Operators*\r\n * `()`\r\n * `not `\r\ \n * ` and `\r\n * ` or `\r\ \n\n\nThe filter can not exceed a maximum of 3 complexity which is a sum\ \ of the complexity of each expression in the filter.\nExpressions match\ \ one of the bellow patterns\n\n**Basic Filters**\r\n|Complexity|Property|Operators|ValueRegex|Description|\r\ \n|----------|---------|---------|----------|-----------|\r\n|1|state|Equal|('(?:[^']|'')*')||\r\ \n|1|locationCode|Equal|('(?:[^']|'')*')||\r\n|1|countryCode|Equal|('(?:[^']|'')*')||\r\ \n|1|isStore|Equal|(true|false)||\r\n\r\n*Matching Regex Patterns*:\r\ \n * (?'property'[sS][tT][aA][tT][eE]) (?'operation'eq) (?'value''(?:[^']|'')*')\r\ \n * (?'property'[lL][oO][cC][aA][tT][iI][oO][nN][cC][oO][dD][eE]) (?'operation'eq)\ \ (?'value''(?:[^']|'')*')\r\n * (?'property'[cC][oO][uU][nN][tT][rR][yY][cC][oO][dD][eE])\ \ (?'operation'eq) (?'value''(?:[^']|'')*')\r\n * (?'property'[iI][sS][sS][tT][oO][rR][eE])\ \ (?'operation'eq) (?'value'true|false)\r\n\r\n*Allowed Operators*\r\n *\ \ Equal = ` eq `\r\n\r\n\r\nSample filter: $filter=name\ \ eq 'Bob' and (address/state in ['WA','VIC'] or age gt 10)\r\n\n\n" schema: type: "string" - name: "$orderby" in: "query" description: "Order By can be optionally used to control the sequence the\ \ entities of the collection are returned in.\nThis collection can have\ \ a maximum of 1 order properties separated by a ',' character.\nSorting\ \ can be done in asc or desc order by following the property name by a space\ \ and then the key words asc or desc.\nIf no direction is specified then\ \ asc is assumed.\nThis collection can be sorted by the following properties:\n\ \ - countryCode\n - locationCode\n - state\nexample: $orderby=name desc,address/state\ \ asc.\n" schema: type: "string" - name: "$skip" in: "query" description: "skip can be used to skip the first n number of results of the\ \ sequences of entities of the collection.\n\nexample: $skip=5" schema: minimum: 0 type: "integer" - name: "$top" in: "query" description: "top can be used to take the first n number of results of the\ \ sequences of entities of the collection. the maximum value for top is\ \ 1000\n\nexample: $top=5" schema: minimum: 1 type: "integer" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/LocationsResponse" example: locations: - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" locationCode: "2010" name: "Balcatta Warehouse" countryCode: "AU" type: code: "WA" name: "Warehouse" subType: code: "WA" name: "Warehouse" inventoryType: "Retail Hardware Site" tradeDateRange: start: "1998-01-04T00:00:00Z" end: null region: code: "WA" name: "Western Australia" timezone: "Australia/Perth" address: line1: "191 Balcatta Road" line2: null line3: null townCity: "Balcatta" postCode: "6021" state: "WA" country: "AU" phone: "+61 8 9344 0300" email: "Balcatta@bunnings.com.au" fax: "+61 8 9344 0399" tradeRegion: "Metro" isStore: true isModel: false isSupport: false isClosed: false isActive: true isTrading: true hasClickAndCollect: true hasDriveAndCollect: false hasClickAndDeliver: true friendlyName: "Balcatta" geoLocation: lat: -34.13321 long: 115.54621 serviceTypes: null tradingHours: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" storeMap: null maximumAisleNumber: 97 _meta: _objectUuid: "66b4832c-1593-4f7a-8c46-86c71f11cbbf" _objectVersion: "1" serverState: "AWxvY2F0aW9ucwNlY2IzYWE0Ni05Y2U2LTFhYzAtNDIyMi1iNTE0MTFiYTNkZDMDA9kgf9VTjNgI" _links: - rel: "LOC:007/SearchLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations" methods: - "GET" - rel: "LOC:005/GetLocation/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}" methods: - "GET" - rel: "LOC:024/NearestLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/nearest" methods: - "GET" - rel: "LOC:008/LocationTradingHours/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}/trading-hours" methods: - "GET" - locationGln: "c569d3e0-42b2-2cac-687d-aaf737fb828e" locationCode: "8168" name: "Maroochydore Trade Centre" countryCode: "AU" type: code: "TD" name: "Trade Distribution Centre" subType: null inventoryType: "Trade Hardware Site" tradeDateRange: start: "2011-11-10T00:00:00Z" end: null region: code: "QLD" name: "Queensland" timezone: "Australia/Brisbane" address: line1: "547 Maroochydore Rd" line2: null line3: null townCity: "Kunda Park" postCode: "4556" state: "QLD" country: "Australia" phone: "07 5456 9200" email: null fax: null tradeRegion: null isStore: true isModel: false isSupport: false isClosed: false isActive: true isTrading: true hasClickAndCollect: true hasDriveAndCollect: false hasClickAndDeliver: true friendlyName: null geoLocation: lat: -34.13321 long: 115.54621 serviceTypes: null tradingHours: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" storeMap: null maximumAisleNumber: 97 _meta: _objectUuid: "d4a23fe6-8ad4-42dc-9ee2-3f513fc5462b" _objectVersion: "1" serverState: "AWxvY2F0aW9ucwNjNTY5ZDNlMC00MmIyLTJjYWMtNjg3ZC1hYWY3MzdmYjgyOGUDA_8hf9VTjNgI" _links: - rel: "LOC:007/SearchLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations" methods: - "GET" - rel: "LOC:005/GetLocation/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}" methods: - "GET" - rel: "LOC:024/NearestLocations/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/nearest" methods: - "GET" - rel: "LOC:008/LocationTradingHours/GET" href: "https://location.uat.api.bunnings.com.au/location/locations/{serverState}/trading-hours" methods: - "GET" _meta: {} _links: [] links: LOC:007/SearchLocations/GET#NextPage: operationId: "LOC:007/SearchLocations/GET#NextPage" description: "Searches locations." LOC:024/NearestLocations/GET#NextPage: operationId: "LOC:024/NearestLocations/GET#NextPage" description: "Retrieves nearest locations by latitude and longitude." LOC:005/GetLocation/GET: operationId: "LOC:005/GetLocation/GET" description: "Retrives details for a given location." LOC:007/SearchLocations/GET: operationId: "LOC:007/SearchLocations/GET" description: "Searches locations." LOC:008/LocationTradingHours/GET: operationId: "LOC:008/LocationTradingHours/GET" description: "Returns the trading hours against a given location." LOC:024/NearestLocations/GET: operationId: "LOC:024/NearestLocations/GET" description: "Retrieves nearest locations by latitude and longitude." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /service-types/{serverState}: get: tags: - "Location Service Types" summary: "Returns a known service type. (Auth loc:pub)" description: "Returns a known service type." operationId: "LOC:009/GetServiceType/GET" parameters: - name: "serverState" in: "path" description: "To call this operation server state is required, server state\ \ is obtained from the result of a previous call on this API that returned\ \ an entity with a rel pointing at this endpoint this is part of the API's\ \ HATEOAS design. When a returned entity has a rel for this operation the\ \ _meta collection on that object will contain a serverState property the\ \ value of that property is what should be passed as this parameter. The\ \ rel's href property will have a URI template that can be called by simply\ \ replacing {serverState} template variable with the value from _meta.serverState.\ \ To find the starting operations of this API call the /discovery operation.\ \ \r\n\r\nServer state is an opaque string that should be passed as received\ \ back to the API in subsequent calls. the form content and structure of\ \ the server state may change and is at the discretion of the API." required: true schema: type: "string" - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/BunServiceType" example: isLinked: true name: "Hire Shop" type: "PRIMARY" parentServiceType: null description: "Hire services at Bunnings" icon: "https://www.bunnings.com.au/-/media/images/services/icons/2019/v2/hire_shop.gif" link: "https://www.bunnings.com.au/our-services/in-store/hire-shop" physicalService: true masterCompany: null isRetired: false serviceTypeId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "c99c905e-50c4-43cc-86aa-472a0ea8c786" _objectVersion: "1" serverState: "AXNlcnZpY2UtdHlwZXMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwNecojVU4zYCA" _links: - rel: "LOC:009/GetServiceType/GET" href: "https://location.uat.api.bunnings.com.au/location/service-types/{serverState}" methods: - "GET" links: LOC:009/GetServiceType/GET: operationId: "LOC:009/GetServiceType/GET" description: "Returns details about a service type." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "404": description: "Not Found" content: application/json: schema: $ref: "#/components/schemas/MissingResourceProblemDetails" "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /service-types: get: tags: - "Location Service Types" summary: "Provides search functionality against services types. (Auth loc:pub)" description: "Returns location services." operationId: "LOC:014/SearchServiceTypes/GET" parameters: - name: "continuationToken" in: "query" description: "Optional continuation token that allows for paging to the next\ \ result set." schema: type: "string" nullable: true - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" - name: "$filter" in: "query" description: "Filter can be optionally used to filter out entities of the\ \ collection. \nA filter is comprised of one or more expressions joined\ \ with the following logical operators listed bellow in precedence order.\n\ \n*Allowed Logical Operators*\r\n * `()`\r\n * `not `\r\ \n * ` and `\r\n * ` or `\r\ \n\n\nThe filter can not exceed a maximum of 1 complexity which is a sum\ \ of the complexity of each expression in the filter.\nExpressions match\ \ the bellow pattern\n\n**Basic Filters**\r\n|Complexity|Property|Operators|ValueRegex|Description|\r\ \n|----------|---------|---------|----------|-----------|\r\n|1|name|Equal|('(?:[^']|'')*')||\r\ \n\r\n*Matching Regex Patterns*:\r\n * (?'property'[nN][aA][mM][eE]) (?'operation'eq)\ \ (?'value''(?:[^']|'')*')\r\n\r\n*Allowed Operators*\r\n * Equal = `\ \ eq `\r\n\r\n\r\nSample filter: $filter=name eq 'Bob' and (address/state\ \ in ['WA','VIC'] or age gt 10)\r\n\n\n" schema: type: "string" - name: "$orderby" in: "query" description: "Order By can be optionally used to control the sequence the\ \ entities of the collection are returned in.\nThis collection can have\ \ a maximum of 1 order properties separated by a ',' character.\nSorting\ \ can be done in asc or desc order by following the property name by a space\ \ and then the key words asc or desc.\nIf no direction is specified then\ \ asc is assumed.\nThis collection can be sorted by the following properties:\n\ \ - name\nexample: $orderby=name desc,address/state asc.\n" schema: type: "string" - name: "$skip" in: "query" description: "skip can be used to skip the first n number of results of the\ \ sequences of entities of the collection.\n\nexample: $skip=5" schema: minimum: 0 type: "integer" - name: "$top" in: "query" description: "top can be used to take the first n number of results of the\ \ sequences of entities of the collection. the maximum value for top is\ \ 1000\n\nexample: $top=5" schema: minimum: 1 type: "integer" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/ServiceTypesResponse" example: serviceTypes: - isLinked: true name: "Hire Shop" type: "PRIMARY" parentServiceType: null description: "Hire services at Bunnings" icon: "https://www.bunnings.com.au/-/media/images/services/icons/2019/v2/hire_shop.gif" link: "https://www.bunnings.com.au/our-services/in-store/hire-shop" physicalService: true masterCompany: null isRetired: false serviceTypeId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "7c9d5b48-7d8a-4862-b019-b00f957f4d9f" _objectVersion: "1" serverState: "AXNlcnZpY2UtdHlwZXMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwN0No_VU4zYCA" _links: - rel: "LOC:009/GetServiceType/GET" href: "https://location.uat.api.bunnings.com.au/location/service-types/{serverState}" methods: - "GET" - isLinked: true name: "D.I.Y Advice" type: "PRIMARY" parentServiceType: null description: "D.I.Y Advice at Bunnings" icon: "https://www.bunnings.com.au/-/media/images/services/icons/2019/diy_advice_april2019.png" link: "https://www.bunnings.com.au/our-services/in-store/diy-workshops" physicalService: false masterCompany: null isRetired: false serviceTypeId: "ecb5ab43-7ce6-1ac0-4221-b62412ba3de1" _meta: _objectUuid: "68b5064f-5fdf-45ff-ae75-03e566e1f771" _objectVersion: "1" serverState: "AXNlcnZpY2UtdHlwZXMDZWNiNWFiNDMtN2NlNi0xYWMwLTQyMjEtYjYyNDEyYmEzZGUxAwNDOI_VU4zYCA" _links: - rel: "LOC:009/GetServiceType/GET" href: "https://location.uat.api.bunnings.com.au/location/service-types/{serverState}" methods: - "GET" _meta: _objectUuid: "704a696b-4279-4f5a-808e-7b3a54a9b1df" _objectVersion: "1" _links: [] links: LOC:014/SearchServiceTypes/GET#NextPage: operationId: "LOC:014/SearchServiceTypes/GET#NextPage" description: "Searches against service types." LOC:009/GetServiceType/GET: operationId: "LOC:009/GetServiceType/GET" description: "Returns details about a service type." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /trading-hours/{serverState}: get: tags: - "Location Trading Hours" summary: "Returns a known trading hour. (Auth loc:pub)" description: "Returns a known trading hour." operationId: "LOC:018/GetTradingHour/GET" parameters: - name: "serverState" in: "path" description: "To call this operation server state is required, server state\ \ is obtained from the result of a previous call on this API that returned\ \ an entity with a rel pointing at this endpoint this is part of the API's\ \ HATEOAS design. When a returned entity has a rel for this operation the\ \ _meta collection on that object will contain a serverState property the\ \ value of that property is what should be passed as this parameter. The\ \ rel's href property will have a URI template that can be called by simply\ \ replacing {serverState} template variable with the value from _meta.serverState.\ \ To find the starting operations of this API call the /discovery operation.\ \ \r\n\r\nServer state is an opaque string that should be passed as received\ \ back to the API in subsequent calls. the form content and structure of\ \ the server state may change and is at the discretion of the API." required: true schema: type: "string" - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/BunTradingHour" example: locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "PUBLIC_HOLIDAY" standard: null publicHoliday: name: "Christmas Day" openingTime: "7:00AM" closingTime: "10:00PM" date: "2020-12-25T00:00:00Z" storeClosure: null tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "63210977-24a0-4269-9f74-f719e6117b5c" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwO8bpPVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" links: LOC:018/GetTradingHour/GET: operationId: "LOC:018/GetTradingHour/GET" description: "Returns details about a trading hour." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "404": description: "Not Found" content: application/json: schema: $ref: "#/components/schemas/MissingResourceProblemDetails" "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" /trading-hours: get: tags: - "Location Trading Hours" summary: "Provides search functionality against trading hours. (Auth loc:pub)" description: "Provides search functionality against trading hours." operationId: "LOC:015/SearchTradingHours/GET" parameters: - name: "continuationToken" in: "query" description: "Optional continuation token that allows for paging to the next\ \ result set." schema: type: "string" nullable: true - name: "x-version-api" in: "header" description: "The API version the client is calling this endpoint at. When\ \ calling this API the client must provided the version of the API they\ \ have been written against this allows the API to correctly support the\ \ calling clients. Clients are still required to support non breaking changes\ \ within the same version" required: true schema: type: "string" example: "1.0" - name: "$skip" in: "query" description: "skip can be used to skip the first n number of results of the\ \ sequences of entities of the collection.\n\nexample: $skip=5" schema: minimum: 0 type: "integer" - name: "$top" in: "query" description: "top can be used to take the first n number of results of the\ \ sequences of entities of the collection. the maximum value for top is\ \ 1000\n\nexample: $top=5" schema: minimum: 1 type: "integer" responses: "200": description: "Success" headers: ETag: description: "An ETag of the resource" schema: type: "string" description: "An ETag of the resource" format: "" content: application/json: schema: $ref: "#/components/schemas/TradingHoursResponse" example: tradingHours: - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "STANDARD" standard: currentTradingHours: monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" futureTradingHours: startDate: "2021-11-16T00:00:00Z" monday: openingTime: "6:30AM" closingTime: "9:00PM" tuesday: openingTime: "6:30AM" closingTime: "9:00PM" wednesday: openingTime: "6:30AM" closingTime: "9:00PM" thursday: openingTime: "6:30AM" closingTime: "9:00PM" friday: openingTime: "6:30AM" closingTime: "9:00PM" saturday: openingTime: "6:30AM" closingTime: "9:00PM" sunday: openingTime: "6:30AM" closingTime: "9:00PM" publicHoliday: null storeClosure: null tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "7c74c9dd-475c-4127-b937-45a6944488f6" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwPfOJjVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "PUBLIC_HOLIDAY" standard: null publicHoliday: name: "Christmas Day" openingTime: "7:00AM" closingTime: "10:00PM" date: "2020-12-25T00:00:00Z" storeClosure: null tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "d037c497-9d4c-4e34-9001-5b580886e0f9" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwPpOZjVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" - locationGln: "ecb3aa46-9ce6-1ac0-4222-b51411ba3dd3" type: "STORE_CLOSURE" standard: null publicHoliday: null storeClosure: date: "2021-11-13T00:00:00Z" tradingHourId: "ecb4ab46-7ce6-1ac0-4221-b61412ba3de1" _meta: _objectUuid: "ddee1b40-f97a-48d6-8fed-a44bb4ed9053" _objectVersion: "1" serverState: "AXRyYWRpbmctaG91cnMDZWNiNGFiNDYtN2NlNi0xYWMwLTQyMjEtYjYxNDEyYmEzZGUxAwPBOpjVU4zYCA" _links: - rel: "LOC:018/GetTradingHour/GET" href: "https://location.uat.api.bunnings.com.au/location/trading-hours/{serverState}" methods: - "GET" _meta: {} _links: [] links: LOC:008/LocationTradingHours/GET#NextPage: operationId: "LOC:008/LocationTradingHours/GET#NextPage" description: "Returns the trading hours against a given location." LOC:015/SearchTradingHours/GET#NextPage: operationId: "LOC:015/SearchTradingHours/GET#NextPage" description: "Adds or updates trading hours for a location." LOC:018/GetTradingHour/GET: operationId: "LOC:018/GetTradingHour/GET" description: "Returns details about a trading hour." "400": description: "Bad Request" content: application/json: schema: $ref: "#/components/schemas/ValidationErrorsProblemDetails" "401": description: "Unauthorized" "403": description: "Forbidden" content: application/json: schema: $ref: "#/components/schemas/ForbiddenRequestsProblemDetails" example: type: "https://httpstatuses.com/403" title: "Forbidden" status: 403 detail: "The server understood the request, but is refusing to authorize\ \ it. The user isn't authorized to request for the resource." instance: "" extensions: {} "429": description: "Too many request back off and try again later" "500": description: "Server Error" content: application/json: schema: $ref: "#/components/schemas/ServerErrorProblemDetails" example: type: "https://httpstatuses.com/500" title: "Server Error" status: 500 detail: "An error occurred processing your request. We are sorry for\ \ the trouble and please try again in a moment." instance: "" extensions: {} "5XX": description: "An unexpected error has occurred" security: - oauth2: - "loc:pub" - bearer: - "loc:pub" components: schemas: ServiceTypesResponse: type: "object" properties: serviceTypes: type: "array" items: $ref: "#/components/schemas/BunServiceType" description: "List of service types." nullable: true _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "List of service types." HateOasLinks: type: "object" properties: rel: type: "string" description: "Gets or sets the rel." nullable: true href: type: "string" description: "Gets or sets the href." nullable: true methods: type: "array" items: type: "string" description: "Gets or sets the methods." nullable: true description: "Hypermedia links" Discovery: type: "object" properties: _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "Base location API discovery endpoint." ProblemDetails: type: "object" properties: type: type: "string" description: "A URI reference [RFC3986] that identifies the problem type.\ \ This specification encourages that, when\r\ndereferenced, it provide\ \ human-readable documentation for the problem type\r\n(e.g., using HTML\ \ [W3C.REC-html5-20141028]). When this member is not present, its value\ \ is assumed to be\r\n\"about:blank\"." nullable: true title: type: "string" description: "A short, human-readable summary of the problem type.It SHOULD\ \ NOT change from occurrence to occurrence\r\nof the problem, except for\ \ purposes of localization(e.g., using proactive content negotiation;\r\ \nsee[RFC7231], Section 3.4)." nullable: true status: type: "integer" description: "The HTTP status code([RFC7231], Section 6) generated by the\ \ origin server for this occurrence of the problem." format: "int32" nullable: true detail: type: "string" description: "A human-readable explanation specific to this occurrence of\ \ the problem." nullable: true instance: type: "string" description: "A URI reference that identifies the specific occurrence of\ \ the problem.It may or may not yield further information if dereferenced." nullable: true additionalProperties: type: "object" description: "A machine-readable format for specifying errors in HTTP API responses\ \ based on https://tools.ietf.org/html/rfc7807." ValidationErrorsProblemDetails: type: "object" properties: errors: type: "object" additionalProperties: type: "array" items: type: "string" description: "Gets the validation errors associated with this instance of\ \ Microsoft.AspNetCore.Mvc.ValidationProblemDetails." nullable: true readOnly: true type: type: "string" description: "A URI reference [RFC3986] that identifies the problem type.\ \ This specification encourages that, when\r\ndereferenced, it provide\ \ human-readable documentation for the problem type\r\n(e.g., using HTML\ \ [W3C.REC-html5-20141028]). When this member is not present, its value\ \ is assumed to be\r\n\"about:blank\"." nullable: true title: type: "string" description: "A short, human-readable summary of the problem type.It SHOULD\ \ NOT change from occurrence to occurrence\r\nof the problem, except for\ \ purposes of localization(e.g., using proactive content negotiation;\r\ \nsee[RFC7231], Section 3.4)." nullable: true status: type: "integer" description: "The HTTP status code([RFC7231], Section 6) generated by the\ \ origin server for this occurrence of the problem." format: "int32" nullable: true detail: type: "string" description: "A human-readable explanation specific to this occurrence of\ \ the problem." nullable: true instance: type: "string" description: "A URI reference that identifies the specific occurrence of\ \ the problem.It may or may not yield further information if dereferenced." nullable: true additionalProperties: type: "object" description: "A machine-readable format for specifying validation errors in\ \ HTTP API responses based on https://tools.ietf.org/html/rfc7807" MissingResourceProblemDetails: type: "object" properties: type: type: "string" description: "A URI reference [RFC3986] that identifies the problem type.\ \ This specification encourages that, when\r\ndereferenced, it provide\ \ human-readable documentation for the problem type\r\n(e.g., using HTML\ \ [W3C.REC-html5-20141028]). When this member is not present, its value\ \ is assumed to be\r\n\"about:blank\"." nullable: true title: type: "string" description: "A short, human-readable summary of the problem type.It SHOULD\ \ NOT change from occurrence to occurrence\r\nof the problem, except for\ \ purposes of localization(e.g., using proactive content negotiation;\r\ \nsee[RFC7231], Section 3.4)." nullable: true status: type: "integer" description: "The HTTP status code([RFC7231], Section 6) generated by the\ \ origin server for this occurrence of the problem." format: "int32" nullable: true detail: type: "string" description: "A human-readable explanation specific to this occurrence of\ \ the problem." nullable: true instance: type: "string" description: "A URI reference that identifies the specific occurrence of\ \ the problem.It may or may not yield further information if dereferenced." nullable: true additionalProperties: type: "object" description: "A machine-readable format for specifying resource not found errors\ \ in HTTP API responses based on https://tools.ietf.org/html/rfc7807" ForbiddenRequestsProblemDetails: type: "object" properties: type: type: "string" description: "A URI reference [RFC3986] that identifies the problem type.\ \ This specification encourages that, when\r\ndereferenced, it provide\ \ human-readable documentation for the problem type\r\n(e.g., using HTML\ \ [W3C.REC-html5-20141028]). When this member is not present, its value\ \ is assumed to be\r\n\"about:blank\"." nullable: true title: type: "string" description: "A short, human-readable summary of the problem type.It SHOULD\ \ NOT change from occurrence to occurrence\r\nof the problem, except for\ \ purposes of localization(e.g., using proactive content negotiation;\r\ \nsee[RFC7231], Section 3.4)." nullable: true status: type: "integer" description: "The HTTP status code([RFC7231], Section 6) generated by the\ \ origin server for this occurrence of the problem." format: "int32" nullable: true detail: type: "string" description: "A human-readable explanation specific to this occurrence of\ \ the problem." nullable: true instance: type: "string" description: "A URI reference that identifies the specific occurrence of\ \ the problem.It may or may not yield further information if dereferenced." nullable: true additionalProperties: type: "object" description: "The request contained valid data and was understood by the server,\ \ but the server is refusing action. This may be due to the user not having\ \ the necessary permissions for a resource or needing an account of some sort,\ \ or attempting a prohibited action (e.g. creating a duplicate record where\ \ only one is allowed). This code is also typically used if the request provided\ \ authentication via the WWW-Authenticate header field, but the server did\ \ not accept that authentication. The request should not be repeated." ServerErrorProblemDetails: type: "object" properties: type: type: "string" description: "A URI reference [RFC3986] that identifies the problem type.\ \ This specification encourages that, when\r\ndereferenced, it provide\ \ human-readable documentation for the problem type\r\n(e.g., using HTML\ \ [W3C.REC-html5-20141028]). When this member is not present, its value\ \ is assumed to be\r\n\"about:blank\"." nullable: true title: type: "string" description: "A short, human-readable summary of the problem type.It SHOULD\ \ NOT change from occurrence to occurrence\r\nof the problem, except for\ \ purposes of localization(e.g., using proactive content negotiation;\r\ \nsee[RFC7231], Section 3.4)." nullable: true status: type: "integer" description: "The HTTP status code([RFC7231], Section 6) generated by the\ \ origin server for this occurrence of the problem." format: "int32" nullable: true detail: type: "string" description: "A human-readable explanation specific to this occurrence of\ \ the problem." nullable: true instance: type: "string" description: "A URI reference that identifies the specific occurrence of\ \ the problem.It may or may not yield further information if dereferenced." nullable: true additionalProperties: type: "object" description: "A machine-readable format for specifying server errors in HTTP\ \ API responses based on https://tools.ietf.org/html/rfc7807" PublicHoliday: required: - "closingTime" - "date" - "name" - "openingTime" type: "object" properties: name: type: "string" description: "Name/Identifier for the public holiday, such as Boxing Day,\ \ Christmas Day." openingTime: pattern: "^(1[012]|[1-9]):[0-5][0-9](\\s)?([aA][mM]|[pP][mM])$" type: "string" description: "Exceptional opening time." example: "8:30AM" closingTime: pattern: "^(1[012]|[1-9]):[0-5][0-9](\\s)?([aA][mM]|[pP][mM])$" type: "string" description: "Exceptional closing time." example: "4:00PM" date: type: "string" description: "Future date the public holiday is on." format: "date-time" example: "2020-11-19T14:11:56Z" description: "Models a public holiday trading hour." StoreClosure: required: - "date" type: "object" properties: date: type: "string" description: "Future date of the store closure." format: "date-time" example: "2020-11-19T14:11:56Z" description: "Models a store closure." CountryCode: enum: - "AU" - "NZ" type: "string" description: "Supported location codes." CodeNamePair: required: - "code" - "name" type: "object" properties: code: type: "string" description: "Code value." name: type: "string" description: "Name value." description: "Simple Type that combines a code and name value." StateCode: enum: - "NQ" - "QLD" - "NSW" - "ACT" - "VIC" - "NT" - "SA" - "TAS" - "WA" - "NI" - "SI" type: "string" description: "Supported state codes." TradingHourType: enum: - "STANDARD" - "PUBLIC_HOLIDAY" - "STORE_CLOSURE" type: "string" description: "Supported trading hour types." TradingHoursSet: required: - "friday" - "monday" - "saturday" - "sunday" - "thursday" - "tuesday" - "wednesday" type: "object" properties: monday: $ref: "#/components/schemas/OpeningHours" tuesday: $ref: "#/components/schemas/OpeningHours" wednesday: $ref: "#/components/schemas/OpeningHours" thursday: $ref: "#/components/schemas/OpeningHours" friday: $ref: "#/components/schemas/OpeningHours" saturday: $ref: "#/components/schemas/OpeningHours" sunday: $ref: "#/components/schemas/OpeningHours" description: "Models a set of trading hours from Monday to Sunday." FutureTradingHoursSet: required: - "friday" - "monday" - "saturday" - "startDate" - "sunday" - "thursday" - "tuesday" - "wednesday" type: "object" properties: startDate: type: "string" description: "Effective start date of the trading hour set." format: "date-time" example: "2020-11-19T14:11:56Z" monday: $ref: "#/components/schemas/OpeningHours" tuesday: $ref: "#/components/schemas/OpeningHours" wednesday: $ref: "#/components/schemas/OpeningHours" thursday: $ref: "#/components/schemas/OpeningHours" friday: $ref: "#/components/schemas/OpeningHours" saturday: $ref: "#/components/schemas/OpeningHours" sunday: $ref: "#/components/schemas/OpeningHours" description: "Future dated set of trading hours." OpeningHours: required: - "openingTime" type: "object" properties: openingTime: pattern: "^(1[012]|[1-9]):[0-5][0-9](\\s)?([aA][mM]|[pP][mM])$" type: "string" description: "Opening time." example: "6:30AM" closingTime: pattern: "^(1[012]|[1-9]):[0-5][0-9](\\s)?([aA][mM]|[pP][mM])$" type: "string" description: "Closing time." nullable: true example: "9:00PM" description: "Models opening hours." StandardTradingHours: required: - "currentTradingHours" type: "object" properties: currentTradingHours: $ref: "#/components/schemas/TradingHoursSet" futureTradingHours: $ref: "#/components/schemas/FutureTradingHoursSet" description: "Set of trading hours for a location." BunTradingHour: required: - "locationGln" - "tradingHourId" - "type" type: "object" properties: locationGln: type: "string" description: "The globally unique id for the location." format: "uuid" type: $ref: "#/components/schemas/TradingHourType" standard: $ref: "#/components/schemas/StandardTradingHours" publicHoliday: $ref: "#/components/schemas/PublicHoliday" storeClosure: $ref: "#/components/schemas/StoreClosure" tradingHourId: type: "string" description: "Unique id for the trading hour." format: "uuid" _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "Models a trading hour." TradingHoursResponse: required: - "tradingHours" type: "object" properties: tradingHours: type: "array" items: $ref: "#/components/schemas/BunTradingHour" description: "Returned trading hours." _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "List of trading hours." DateRange: required: - "start" type: "object" properties: start: type: "string" description: "Trading start date." format: "date-time" example: "2020-11-19T14:11:56Z" end: type: "string" description: "Optional trading end date." format: "date-time" nullable: true example: "2020-11-19T14:11:56Z" description: "Date range." Address: type: "object" properties: line1: type: "string" description: "Address line 1." nullable: true line2: type: "string" description: "Address line 2." nullable: true line3: type: "string" description: "Address line 3." nullable: true townCity: type: "string" description: "Town/city." nullable: true postCode: type: "string" description: "Post code." nullable: true state: type: "string" description: "State." nullable: true country: type: "string" description: "Country." nullable: true description: "Address details." GeoLocation: required: - "lat" type: "object" properties: lat: maximum: 90 minimum: -90 type: "number" description: "The latitude." format: "double" long: maximum: 180 minimum: -180 type: "number" description: "The longitude." format: "double" description: "GeoLocation details for a location." BunLocation: required: - "countryCode" - "hasClickAndCollect" - "hasClickAndDeliver" - "hasDriveAndCollect" - "isActive" - "isClosed" - "isModel" - "isStore" - "isSupport" - "isTrading" - "locationCode" - "locationGln" - "name" - "timezone" - "type" type: "object" properties: locationGln: type: "string" description: "The globally unique id for the location." format: "uuid" locationCode: pattern: "^[1-9][0-9]{3}$" type: "string" description: "The 4 digit Bunnings location code." name: type: "string" description: "Location name." countryCode: $ref: "#/components/schemas/CountryCode" type: $ref: "#/components/schemas/CodeNamePair" subType: $ref: "#/components/schemas/CodeNamePair" inventoryType: type: "string" description: "Type of the location in a inventory context." nullable: true tradeDateRange: $ref: "#/components/schemas/DateRange" region: $ref: "#/components/schemas/CodeNamePair" timezone: type: "string" description: "IANA Timezone name for the location." address: $ref: "#/components/schemas/Address" phone: type: "string" description: "Phone number." nullable: true email: type: "string" description: "Email address." nullable: true fax: type: "string" description: "Fax number." nullable: true tradeRegion: type: "string" description: "Trade region." nullable: true isStore: type: "boolean" description: "Flag to indicate the location is a store." isModel: type: "boolean" description: "Flag that indicates if the location is a model warehouse." isSupport: type: "boolean" description: "Flag that indicates the location is a support location." isClosed: type: "boolean" description: "Flag that indicates if the location is closed." isActive: type: "boolean" description: "Flag that indicates if the location is active." isTrading: type: "boolean" description: "Flag that indicates if the location is currently trading or\ \ disabled temporarily due to a disaster." hasClickAndCollect: type: "boolean" description: "Flag that indicates if the location offers click and collect." nullable: true hasDriveAndCollect: type: "boolean" description: "Flag that indicates if the location offers drive and collect." nullable: true hasClickAndDeliver: type: "boolean" description: "Flag that indicates if the location offers click and deliver." nullable: true friendlyName: type: "string" description: "Optional friendly location name." nullable: true geoLocation: $ref: "#/components/schemas/GeoLocation" serviceTypes: type: "array" items: type: "string" format: "uuid" description: "Service types assigned to this location." nullable: true tradingHours: $ref: "#/components/schemas/StandardTradingHours" storeMap: type: "string" description: "Store map." nullable: true maximumAisleNumber: maximum: 999 minimum: 0 type: "integer" description: "Maximum aisle number." format: "int32" nullable: true _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "Models a Bunnings location." LocationsResponse: required: - "locations" type: "object" properties: locations: type: "array" items: $ref: "#/components/schemas/BunLocation" description: "Returned locations." _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "List of locations." ServiceTypeType: enum: - "PRIMARY" - "SECONDARY" type: "string" description: "Supported service type types." BunServiceType: required: - "description" - "icon" - "isLinked" - "isRetired" - "name" - "physicalService" - "serviceTypeId" - "type" type: "object" properties: isLinked: type: "boolean" description: "Flag indicates that the service type is linked to a location." name: type: "string" description: "Name of the service type." type: $ref: "#/components/schemas/ServiceTypeType" parentServiceType: type: "string" description: "Optional parent service type. Applicable only to match PRIMARY\ \ service types, where the current service type is SECONDARY." format: "uuid" nullable: true description: type: "string" description: "Description of the service type." icon: type: "string" description: "Service type icon." link: type: "string" description: "Optional link on the website to click through to for the service\ \ type." nullable: true physicalService: type: "boolean" description: "Flag to indicate that the service type constitutes a physical\ \ service provided at a store, such as Special Orders Desk, Tool Shop\ \ and Hire Shop." masterCompany: type: "string" description: "The name of the company the will provide the service. (i.e.\ \ Ute/Van Rental = Handy Rentals) Otherwise it is Bunnings." nullable: true isRetired: type: "boolean" description: "Flag to indicate that the service type and any secondary service\ \ types are retired and no longer in use." serviceTypeId: type: "string" description: "Unique id for the service." format: "uuid" _meta: type: "object" additionalProperties: type: "string" description: "Gets or sets the meta." nullable: true _links: type: "array" items: $ref: "#/components/schemas/HateOasLinks" description: "The links." nullable: true readOnly: true description: "Defines a service type." securitySchemes: oauth2: type: "oauth2" flows: clientCredentials: tokenUrl: "https://connect.sandbox.api.bunnings.com.au/connect/token" bearer: type: "http" description: "JWT Authorization header using the Bearer scheme." scheme: "bearer" bearerFormat: "JWT" tags: - name: "Discovery" description: "Discovery endpoints used to get initial links." - name: "Locations" description: "Core Location related operations." - name: "Location Trading Hours" description: "Trading Hour related operations." - name: "Location Service Types" description: "Service Type related operations."