{"basePath":"/api/v1","definitions":{"idn-service_internal_api_generated.AmountInCurrency":{"properties":{"currencyType":{"description":"CurrencyType Code for the specified currency as defined in ISO 4217.","type":"string"},"currencyValue":{"description":"CurrencyValue The amount of currency specified in the given currency code type.","type":"number"}},"type":"object"},"idn-service_internal_api_generated.CalculationTypeEnum":{"enum":["counted","derived","expected","verified"],"type":"string","x-enum-varnames":["Counted","Derived","Expected","Verified"]},"idn-service_internal_api_generated.DemandSpaceType":{"properties":{"detectionUpdateTime":{"description":"DetectionUpdateTime ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"},"occupancyEndTime":{"description":"OccupancyEndTime ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"},"occupancyEstimatedEndTime":{"description":"OccupancyEstimatedEndTime ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"},"occupancyEstimatedStartTime":{"description":"OccupancyEstimatedStartTime ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"},"occupancyLevel":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.OccupancyLevel"}],"description":"OccupancyLevel Defines an occupancy level as specified by the data supplier."},"occupancyStartTime":{"description":"OccupancyStartTime ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"},"spaceId":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.Reference"}],"description":"SpaceId Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered."}},"type":"object"},"idn-service_internal_api_generated.DemandType":{"properties":{"count":{"description":"Count Number of occupied spaces.","type":"integer"},"occupancyCalculation":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.CalculationTypeEnum"}],"description":"OccupancyCalculation A list of the supported calculation types for demand.\n* counted : Physical determination if a space is occupied\n* derived : Space occupancy is estimated by using related data such as active payments or sold permits.\n* expected : Future prediction of occupancy levels.\n* verified : Defines an occupancy report that is considered a verified report."},"percentage":{"description":"Percentage Percent of spaces occupied.","type":"number"},"recordDateTime":{"description":"RecordDateTime ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"}},"type":"object"},"idn-service_internal_api_generated.OccupancyDemandTable":{"properties":{"demandSpaceType":{"description":"DemandSpaceType Occupancy for single spaces","items":{"$ref":"#/definitions/idn-service_internal_api_generated.DemandSpaceType"},"type":"array"},"demandType":{"description":"DemandType Occupancy for area","items":{"$ref":"#/definitions/idn-service_internal_api_generated.DemandType"},"type":"array"},"frequency":{"description":"Frequency ISO8601 format definition of an interval of time in format [PnnYnnMnnDTnnHnnMnnS].","type":"string"},"timestamp":{"description":"Timestamp ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ.","type":"string"}},"type":"object"},"idn-service_internal_api_generated.OccupancyLevel":{"properties":{"occupancyIndicator":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.ReferencedCodeListEntry"}],"description":"OccupancyIndicator Provides a structure to support reference to an entry in a previously defined user-defined code list."}},"type":"object"},"idn-service_internal_api_generated.RateLine":{"properties":{"description":{"description":"Description Array of SpecificLanguageString objects representing multi language text.","items":{"$ref":"#/definitions/idn-service_internal_api_generated.SpecificLanguageString"},"type":"array"},"durationEnd":{"description":"DurationEnd If used, indicates the end time for the applicability of the specific RateLine, generally with respect to the end of the parking or other mobility Session, e.g. the end of a time-based tier charge rate.The format can be either of _hh:mm_ (hours and minutes) or _dd:hh:mm_ (days, hours and minutes).","type":"string"},"durationStart":{"description":"DurationStart If used, indicates the start time for the applicability of the specific RateLine, generally with respect to the start of the parking Session, e.g. the start of a time-based tier charge rate. The format can be either of _hh:mm_ (hours and minutes) or _dd:hh:mm_ (days, hours and minutes).","type":"string"},"id":{"description":"Id Unique identifier for the object.","type":"string"},"incrementPeriod":{"description":"IncrementPeriod ISO8601 format definition of an interval of time in format [PnnYnnMnnDTnnHnnMnnS].","type":"string"},"maxValue":{"type":"number"},"minValue":{"type":"number"},"rateLineTax":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.RateLineTax"}],"description":"RateLineTax Contains details of the tax to be applied to a RateLine."},"rateLineType":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.RateLineTypeEnum"}],"description":"RateLineType Describes the type of rates of a RateLine.\n* flatRate : A rate applied to the rate line which is not time/duration dependent. i.e. a single fixed payment.\n* flatRateTier : A flat rate charge rate associated with a specific time-based tier. This is a special case of an incrementing rate.\n* incrementingRate : A charge rate that increases by a defined amount in a defined time."},"sequence":{"description":"Sequence The position of this rate line within a __RateLineCollection__","type":"integer"},"usageCondition":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.RateUsageConditionsTypeEnum"}],"description":"UsageCondition A list of supported rate usage condition types.\n* fixedDuration : Fixed duration - check Rate Usage Duration Limitation field\n* fixedNumber : check Rate Usage Count Limitation field\n* once : Permit can be used once\n* unlimited : Unlimited usage."},"value":{"type":"number"},"version":{"description":"Version Positive integer representing the object version.","type":"integer"}},"type":"object"},"idn-service_internal_api_generated.RateLineTax":{"properties":{"labelForDisplay":{"description":"LabelForDisplay Array of SpecificLanguageString objects representing multi language text.","items":{"$ref":"#/definitions/idn-service_internal_api_generated.SpecificLanguageString"},"type":"array"},"taxIncluded":{"description":"TaxIncluded Indicates if the tax to be applied is included within the total rate associated with this rate line (TRUE) or if the tax is to be added additionally to the total (FALSE).","type":"boolean"},"taxRate":{"description":"TaxRate The percentage rate of tax to be applied.","type":"number"},"taxValue":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.AmountInCurrency"}],"description":"TaxValue A class supporting the definition of a unit of currency in a defined currency."},"triggerDescription":{"description":"TriggerDescription Array of SpecificLanguageString objects representing multi language text.","items":{"$ref":"#/definitions/idn-service_internal_api_generated.SpecificLanguageString"},"type":"array"},"triggerType":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.TriggerTypeEnum"}],"description":"TriggerType * firstUse : Trigger is applied on first use of the facility.\n* withTransaction : Trigger condition is met when the transaction is completed."}},"type":"object"},"idn-service_internal_api_generated.RateLineTypeEnum":{"enum":["flatRate","flatRateTier","incrementingRate"],"type":"string","x-enum-varnames":["FlatRate","FlatRateTier","IncrementingRate"]},"idn-service_internal_api_generated.RateRateLineCollection":{"properties":{"applicableCurrency":{"description":"ApplicableCurrency Code for the specified currency as defined in ISO 4217.","type":"string"},"collectionSequence":{"description":"CollectionSequence An indicator giving the place in sequence of this RateLineCollection.","type":"integer"},"id":{"description":"Id Unique identifier for the object.","type":"string"},"maxTime":{"description":"MaxTime ISO8601 format definition of an interval of time in format [PnnYnnMnnDTnnHnnMnnS].","type":"string"},"maxValueCollection":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.AmountInCurrency"}],"description":"MaxValueCollection A class supporting the definition of a unit of currency in a defined currency."},"minTime":{"description":"MinTime ISO8601 format definition of an interval of time in format [PnnYnnMnnDTnnHnnMnnS].","type":"string"},"minValueCollection":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.AmountInCurrency"}],"description":"MinValueCollection A class supporting the definition of a unit of currency in a defined currency."},"rateLines":{"items":{"$ref":"#/definitions/idn-service_internal_api_generated.RateLine"},"type":"array"},"referenceTimeEnd":{"description":"ReferenceTimeEnd Event-related reference end time","type":"string"},"referenceTimeStart":{"description":"ReferenceTimeStart Event-related reference start time","type":"string"},"relativeTimes":{"description":"RelativeTimes Indicates whether or not times that are relative to the start of an event are used as the basis for rate calculation (TRUE), or if parking rate calculation definitions are done with respect to the parking sessions and defined as local or UTC times (FALSE).","type":"boolean"},"resetTime":{"description":"ResetTime ISO-8601 format definition of a time - format HH:MM.","type":"string"},"taxIncluded":{"description":"TaxIncluded Indication that tax to be applied is included within the total rate associated with this rate line collection (true) or indicates that the tax is added additionally to the total.","type":"boolean"},"taxRate":{"description":"TaxRate The percentage rate of tax to be applied.","type":"number"},"taxValue":{"description":"TaxValue The monetary amount of tax to be applied.","type":"number"},"validEnd":{"description":"ValidEnd The end time for the validity of this RateLineCollection.","type":"string"},"validStart":{"description":"ValidStart The start time for the validity of this RateLineCollection.","type":"string"},"version":{"description":"Version Positive integer representing the object version.","type":"integer"}},"type":"object"},"idn-service_internal_api_generated.RateUsageConditionsTypeEnum":{"enum":["fixedDuration","fixedNumber","once","unlimited"],"type":"string","x-enum-varnames":["FixedDuration","FixedNumber","Once","Unlimited"]},"idn-service_internal_api_generated.Reference":{"properties":{"className":{"description":"ClassName The class name of the referenced object in PascalCase.","type":"string"},"id":{"description":"Id The unique identifier within the given class.","type":"string"}},"type":"object"},"idn-service_internal_api_generated.ReferencedCodeListEntry":{"properties":{"codeListEntryId":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.Reference"}],"description":"CodeListEntryId Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered."},"codeListId":{"allOf":[{"$ref":"#/definitions/idn-service_internal_api_generated.VersionedReference"}],"description":"CodeListId Represents a reference to an identifiable object where the combination of the identifier and version is unique. It is composed of an unique identifier, a version and potentially a string identifying the class of the referenced object."},"entryDefinedValue":{"description":"EntryDefinedValue Free-text defined text (name) for the code list entry being referenced.","type":"string"}},"type":"object"},"idn-service_internal_api_generated.SpecificLanguageString":{"properties":{"language":{"description":"Language ISO 639-1:2002 language code.","type":"string"},"string":{"description":"String Translated string","type":"string"}},"type":"object"},"idn-service_internal_api_generated.TriggerTypeEnum":{"enum":["firstUse","withTransaction"],"type":"string","x-enum-varnames":["FirstUse","WithTransaction"]},"idn-service_internal_api_generated.VersionedReference":{"properties":{"className":{"description":"ClassName Class name of the referenced object.","type":"string"},"id":{"description":"Id Unique identifier for the object.","type":"string"},"version":{"description":"Version Positive integer representing the object version.","type":"integer"}},"type":"object"},"idn-service_internal_models.Capacity":{"properties":{"totalSpaces":{"type":"integer"}},"type":"object"},"idn-service_internal_models.ErrorResponse":{"properties":{"code":{"type":"integer"},"details":{"additionalProperties":true,"type":"object"},"error":{"type":"string"},"message":{"type":"string"}},"type":"object"},"idn-service_internal_models.Extensions":{"properties":{"premiumParking":{"$ref":"#/definitions/idn-service_internal_models.PremiumParkingExtension"}},"type":"object"},"idn-service_internal_models.GeoJSONPoint":{"properties":{"coordinates":{"description":"[longitude, latitude]","items":{"type":"number"},"type":"array"},"type":{"type":"string"}},"type":"object"},"idn-service_internal_models.Instructions":{"properties":{"reservation":{"type":"string"}},"type":"object"},"idn-service_internal_models.Media":{"properties":{"type":{"description":"\"photo\", \"qrCode\", etc.","type":"string"},"url":{"type":"string"}},"type":"object"},"idn-service_internal_models.NameValue":{"properties":{"language":{"type":"string"},"value":{"type":"string"}},"type":"object"},"idn-service_internal_models.Place":{"properties":{"extensions":{"$ref":"#/definitions/idn-service_internal_models.Extensions"},"id":{"type":"string"},"layer":{"type":"integer"},"name":{"items":{"$ref":"#/definitions/idn-service_internal_models.NameValue"},"type":"array"},"pointLocation":{"items":{"$ref":"#/definitions/idn-service_internal_models.PointLocation"},"type":"array"},"streetAddress":{"items":{"$ref":"#/definitions/idn-service_internal_models.StreetAddress"},"type":"array"},"timeZone":{"type":"string"},"version":{"type":"integer"}},"type":"object"},"idn-service_internal_models.PlaceResponse":{"properties":{"place":{"$ref":"#/definitions/idn-service_internal_models.Place"}},"type":"object"},"idn-service_internal_models.PointLocation":{"properties":{"geoJSONPoint":{"$ref":"#/definitions/idn-service_internal_models.GeoJSONPoint"}},"type":"object"},"idn-service_internal_models.PremiumParkingExtension":{"properties":{"capacity":{"$ref":"#/definitions/idn-service_internal_models.Capacity"},"instructions":{"$ref":"#/definitions/idn-service_internal_models.Instructions"},"legacyType":{"type":"string"},"media":{"items":{"$ref":"#/definitions/idn-service_internal_models.Media"},"type":"array"},"sourceType":{"type":"string"}},"type":"object"},"idn-service_internal_models.ProviderBlackout":{"properties":{"description":{"type":"string"},"end_date":{"type":"string"},"id":{"type":"integer"},"location_id":{"type":"integer"},"reason":{"type":"string"},"start_date":{"type":"string"}},"type":"object"},"idn-service_internal_models.ProviderIcon":{"properties":{"url":{"type":"string"}},"type":"object"},"idn-service_internal_models.ProviderLocationFeature":{"properties":{"description":{"type":"string"},"icon":{"$ref":"#/definitions/idn-service_internal_models.ProviderIcon"},"id":{"type":"integer"},"more_info":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"type":"object"},"idn-service_internal_models.ProviderNearbyDestination":{"properties":{"address":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"photo":{"$ref":"#/definitions/idn-service_internal_models.ProviderPhotoVariants"},"slug":{"type":"string"}},"type":"object"},"idn-service_internal_models.ProviderPhoto":{"properties":{"url":{"type":"string"}},"type":"object"},"idn-service_internal_models.ProviderPhotoVariants":{"properties":{"android":{"$ref":"#/definitions/idn-service_internal_models.ProviderPhoto"},"ios":{"$ref":"#/definitions/idn-service_internal_models.ProviderPhoto"},"lazy":{"$ref":"#/definitions/idn-service_internal_models.ProviderPhoto"},"medium":{"$ref":"#/definitions/idn-service_internal_models.ProviderPhoto"},"url":{"type":"string"}},"type":"object"},"idn-service_internal_models.StreetAddress":{"properties":{"addressLine1":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"postalCode":{"type":"string"},"stateProvince":{"type":"string"}},"type":"object"},"idn-service_internal_models.SuccessResponse":{"properties":{"data":{},"message":{"type":"string"},"success":{"type":"boolean"}},"type":"object"},"idn-service_internal_models.TokenRequest":{"properties":{"api_key":{"type":"string"}},"required":["api_key"],"type":"object"},"idn-service_internal_models.TokenResponse":{"properties":{"access_token":{"type":"string"},"expires_in":{"description":"Seconds until expiration","type":"integer"},"issued_at":{"description":"Unix timestamp","type":"integer"},"scope":{"type":"string"},"token_type":{"description":"Always \"Bearer\"","type":"string"}},"type":"object"},"idn-service_internal_models.ValidateTokenRequest":{"properties":{"token":{"type":"string"}},"required":["token"],"type":"object"},"idn-service_internal_models.ValidateTokenResponse":{"properties":{"expires_at":{"type":"integer"},"message":{"type":"string"},"provider_id":{"type":"integer"},"valid":{"type":"boolean"}},"type":"object"}},"host":"dev.idn.glideparcs.com","info":{"contact":{"name":"API Support"},"description":"RESTful API service for managing parking location data and provider authentication","title":"IDN Service API","version":"1.0"},"paths":{"/auth/token":{"post":{"consumes":["application/json"],"description":"Exchanges an API key for a JWT Bearer token that can be used for authenticated requests.","parameters":[{"description":"API Key Request. The api_key field (string, required) contains the provider API key to exchange for a JWT.","in":"body","name":"request","required":true,"schema":{"$ref":"#/definitions/idn-service_internal_models.TokenRequest"}}],"produces":["application/json"],"responses":{"200":{"description":"Token generated successfully. Returns a SuccessResponse wrapper containing TokenResponse with access_token, token_type (always 'Bearer'), issued_at (Unix timestamp in seconds), expires_in (seconds until expiration), and scope (if applicable).","schema":{"allOf":[{"$ref":"#/definitions/idn-service_internal_models.SuccessResponse"},{"properties":{"data":{"$ref":"#/definitions/idn-service_internal_models.TokenResponse"}},"type":"object"}]}},"400":{"description":"Invalid request - missing or malformed API key","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"401":{"description":"Unauthorized. Possible reasons: Invalid API key, Expired key, Inactive key, Provider API access disabled","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Exchange API key for JWT token","tags":["auth"]}},"/auth/validate":{"post":{"consumes":["application/json"],"description":"Validates a JWT Bearer token and returns validation status, including provider information and expiration details.","parameters":[{"description":"JWT Token to validate. The token field (string, required) contains the JWT string to validate.","in":"body","name":"request","required":true,"schema":{"$ref":"#/definitions/idn-service_internal_models.ValidateTokenRequest"}}],"produces":["application/json"],"responses":{"200":{"description":"Token validation result. Returns a SuccessResponse wrapper containing ValidateTokenResponse with valid (boolean), provider_id (integer), expires_at (Unix seconds, not milliseconds), and message (string).","schema":{"allOf":[{"$ref":"#/definitions/idn-service_internal_models.SuccessResponse"},{"properties":{"data":{"$ref":"#/definitions/idn-service_internal_models.ValidateTokenResponse"}},"type":"object"}]}},"400":{"description":"Invalid request - missing or empty token","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Validate JWT token","tags":["auth"]}},"/locations":{"get":{"consumes":["application/json"],"description":"Returns list of APDS-compliant places (Place objects) with related provider information.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"List of APDS-compliant places (Place objects)","schema":{"items":{"$ref":"#/definitions/idn-service_internal_models.Place"},"type":"array"}},"401":{"description":"Unauthorized - missing or invalid API key","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"List locations","tags":["locations"]}},"/locations/{location_name}":{"get":{"consumes":["application/json"],"description":"Returns APDS-compliant place details for a specific location.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"APDS-compliant place details (PlaceResponse)","schema":{"$ref":"#/definitions/idn-service_internal_models.PlaceResponse"}},"401":{"description":"Unauthorized - missing or invalid API key","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"403":{"description":"Forbidden - no access to location","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"404":{"description":"Location not found","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get location","tags":["locations"]}},"/locations/{location_name}/blackouts":{"get":{"consumes":["application/json"],"description":"Returns blackout periods (ProviderBlackout) for a location.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"Blackout periods (ProviderBlackout)","schema":{"items":{"$ref":"#/definitions/idn-service_internal_models.ProviderBlackout"},"type":"array"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get location blackouts","tags":["locations"]}},"/locations/{location_name}/features":{"get":{"consumes":["application/json"],"description":"Returns location features (ProviderLocationFeature) for a location.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"Location features (ProviderLocationFeature)","schema":{"items":{"$ref":"#/definitions/idn-service_internal_models.ProviderLocationFeature"},"type":"array"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get location features","tags":["locations"]}},"/locations/{location_name}/nearby_destinations":{"get":{"consumes":["application/json"],"description":"Returns nearby destinations (ProviderNearbyDestination) for a location.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"Nearby destinations (ProviderNearbyDestination)","schema":{"items":{"$ref":"#/definitions/idn-service_internal_models.ProviderNearbyDestination"},"type":"array"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get nearby destinations","tags":["locations"]}},"/locations/{location_name}/occupancies":{"get":{"consumes":["application/json"],"description":"Returns occupancy table (OccupancyDemandTable) for a location.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"Occupancy data (OccupancyDemandTable)","schema":{"$ref":"#/definitions/idn-service_internal_api_generated.OccupancyDemandTable"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get location occupancies","tags":["locations"]}},"/locations/{location_name}/rates":{"get":{"consumes":["application/json"],"description":"Returns rates for a location as a RateRateLineCollection.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"RateRateLineCollection containing rates, validity windows, taxes, and increments","schema":{"$ref":"#/definitions/idn-service_internal_api_generated.RateRateLineCollection"}},"401":{"description":"Unauthorized - missing or invalid API key","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"404":{"description":"Location not found","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get location rates","tags":["rates"]}},"/locations/{location_name}/recurring_rates":{"get":{"consumes":["application/json"],"description":"Returns recurring rates for a location.","parameters":[{"default":"\"\"","description":"API Key for authentication","in":"header","name":"X-ApiKey","required":true,"type":"string"},{"description":"Location identifier. Accepts both P location number (e.g., P2726) and location ID (numeric). Both formats are supported and will resolve to the same location.","in":"path","name":"location_name","required":true,"type":"string"}],"produces":["application/json"],"responses":{"200":{"description":"Array of RateRateLineCollection objects containing recurring rates","schema":{"items":{"$ref":"#/definitions/idn-service_internal_api_generated.RateRateLineCollection"},"type":"array"}},"401":{"description":"Unauthorized - missing or invalid API key","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}},"500":{"description":"Internal server error","schema":{"$ref":"#/definitions/idn-service_internal_models.ErrorResponse"}}},"summary":"Get recurring rates","tags":["subscriptions"]}}},"schemes":["https"],"securityDefinitions":{"BearerAuth":{"description":"Type \"Bearer\" followed by a space and JWT token.","in":"header","name":"Authorization","type":"apiKey"}},"swagger":"2.0"}
