openapi: 3.0.3
info:
  title: Lese-API for parkeringsregisteret
  description: API for å hente ut informasjon om parkeringstilbydere og parkeringsområder
  version: 1.0.0
servers:
  - url: https://parkreg-open.atlas.vegvesen.no/ws/no/vegvesen/veg/parkeringsomraade/parkeringsregisteret/v1
tags:
  - name: parkeringstilbyder
  - name: parkeringsomraade
paths:
  /parkeringstilbyder:
    get:
      description: Henter en liste med alle parkeringstilbydere.
      tags:
        - parkeringstilbyder
      summary: Henter alle tilbydere
      responses:
        200:
          description: ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/definitions/ParkeringstilbyderOppsummert'
  /parkeringstilbyder/{organisasjonsnummer}:
    get:
      description: Henter en en parkeringstilbyder for angitt organisasjonsnummer. Adresse, telefonnummer og epost hentes fra enhetsregisteret.
        Alle parkeringsområdene for tilbyderen legges også til i responsen.
      tags:
        - parkeringstilbyder
      summary: Henter tilbyder på organisasjonsnummer
      parameters:
        - in: path
          name: organisasjonsnummer
          required: true
          description: Organisasjonsnummer for tilbyder som skal hentes
          schema:
            type: string
            maxLength: 9
            minLength: 9
      responses:
        200:
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/definitions/ParkeringstilbyderDetaljert'
        404:
          description: not found
  /parkeringstilbyder/aktive:
    get:
      description: Henter en liste med alle aktive parkeringstilbydere. Alle parkeringstilbydere med status 'AKTIV' regnes som aktive.
      tags:
        - parkeringstilbyder
      summary: Henter alle aktive tilbydere
      responses:
        200:
          description: ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/definitions/ParkeringstilbyderOppsummert'
  /parkeringsomraade:
    get:
      description: Henter en liste med parkeringsområder. Mengden av data kan begrenses via query-parametre
      tags:
        - parkeringsomraade
      summary: Henter parkeringsområder basert på datafelter/organisasjonsnummer
      parameters:
        - in: query
          name: datafelter
          description: Filter for felter som inkluderes i parkeringsområdene
          schema:
            type: string
            enum:
              - alle
              - kart
        - in: query
          name: orgnr
          description: Filter for henting av parkeringsområder på spesifikt organisasjonsnummer
          schema:
            type: string
            maxLength: 9
            minLength: 9
      responses:
        200:
          description: ok
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: '#/definitions/Parkeringsomrade'
                    - $ref: '#/definitions/ParkeringsomradeOppsummert'
  /parkeringsomraade/{id}:
    get:
      description: Henter et parkeringsområde med angitt id
      tags:
        - parkeringsomraade
      summary: Henter parkeringsområde på id
      parameters:
        - in: path
          name: id
          required: true
          description: Id for parkeringsområde som skal hentes
          schema:
            type: integer
            format: int64
      responses:
        200:
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/definitions/Parkeringsomrade'
        404:
          description: not found
  /parkeringsomraade/{id}/versjon/{versjon}:
    get:
      description: Henter en versjon av et parkeringsområde med angitt id og versjonsnummer. Den angitte versjonen vil settes til aktivVersjon i responsen.
      tags:
        - parkeringsomraade
      summary: Henter parkeringsområde på id og versjon
      parameters:
        - in: path
          name: id
          required: true
          description: Id for parkeringsområde som skal hentes
          schema:
            type: integer
            format: int64
        - in: path
          name: versjon
          required: true
          description: Versjonsnummer for versjonen av parkeringsområdet som skal hentes
          schema:
            type: integer
            format: int64
      responses:
        200:
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/definitions/Parkeringsomrade'
        404:
          description: not found
  /parkeringsomraade/skiltplan/{skiltplanId}:
    get:
      description: Henter en skiltplan av et parkeringsområde med angitt skiltplanId.
      tags:
        - parkeringsomraade
      summary: Henter skiltplan på id
      parameters:
        - in: path
          name: skiltplanId
          required: true
          description: Id for skiltplan som skal hentes
          schema:
            type: integer
            format: int64
      responses:
        200:
          description: ok
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        404:
          description: not found
  /parkeringsomraade/vurdering/{vurderingId}:
    get:
      description: Henter en tekstlig vurdering av hva som er tilstrekkelig antall plasser reservert forflytningshemmede for en versjon av et parkeringsområde med angitt vurderingId.
      tags:
        - parkeringsomraade
      summary: Henter vurdering på id
      parameters:
        - in: path
          name: vurderingId
          required: true
          description: Id for vurdering som skal hentes
          schema:
            type: integer
            format: int64
      responses:
        200:
          description: ok
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        404:
          description: not found
definitions:
  ParkeringstilbyderOppsummert:
    type: object
    properties:
      id:
        type: integer
        format: int64
      organisasjonsnummer:
        type: string
      navn:
        type: string
  ParkeringstilbyderDetaljert:
    type: object
    properties:
      id:
        type: integer
        format: int64
      organisasjonsnummer:
        type: string
      navn:
        type: string
      adresse:
        type: string
      telefonnummer:
        type: string
      epost:
        type: string
      parkeringsomrader:
        type: array
        items:
          $ref: '#/definitions/Parkeringsomrade'
      nettsted:
        type: string
      postnummer:
        type: string
      poststed:
        type: string
      status:
        type: string
      hendelser:
        type: array
        items:
          $ref: '#/definitions/Hendelse'
  Parkeringsomrade:
    type: object
    properties:
      id:
        type: integer
        format: int64
      parkeringstilbyderId:
        type: integer
        format: int64
      parkeringstilbyderNavn:
        type: string
      parkeringstilbyderOrganisasjonsnummer:
        type: string
      breddegrad:
        type: number
        format: double
      lengdegrad:
        type: number
        format: double
      deaktivert:
        $ref: '#/definitions/Deaktivert'
      aktivVersjon:
        $ref: '#/definitions/ParkeringsomradeVersjon'
      historiskeVersjoner:
        type: array
        items:
          $ref: '#/definitions/ParkeringsomradeVersjon'
  Deaktivert:
    type: object
    properties:
      deaktivertTidspunkt:
        type: string
        format: date-time
  ParkeringsomradeVersjon:
    type: object
    properties:
      navn:
        type: string
      referanse:
        type: string
      adresse:
        type: string
      postnummer:
        type: string
      poststed:
        type: string
      antallAvgiftsbelagtePlasser:
        type: integer
        format: int32
      antallAvgiftsfriePlasser:
        type: integer
        format: int32
      antallLadeplasser:
        type: integer
        format: int32
      merknadLadeplasser:
        type: string
      antallForflytningshemmede:
        type: integer
        format: int32
      vurderingForflytningshemmede:
        type: string
      aktiveringstidspunkt:
        type: string
        format: date-time
      sistEndret:
        type: string
        format: date-time
      skiltplanId:
        type: integer
        format: int64
      links:
        type: array
        items:
          $ref: '#/definitions/Link'
      versjonsnummer:
        type: integer
        format: int32
      sluttidspunkt:
        type: string
        format: date-time
      opplastetVurderingId:
        type: integer
        format: int64
      typeParkeringsomrade:
        $ref: '#/definitions/TypeParkeringsomrade'
      innfartsparkering:
        $ref: '#/definitions/Innfartsparkering'
      handhever:
        $ref: '#/definitions/Handhever'
  Link:
    type: object
    properties:
      rel:
        type: string
      href:
        type: string
      hreflang:
        type: string
      media:
        type: string
      title:
        type: string
      type:
        type: string
      deprecation:
        type: string
  TypeParkeringsomrade:
    type: string
    enum:
      - IKKE_VALGT
      - PARKERINGSHUS
      - LANGS_KJOREBANE
      - AVGRENSET_OMRADE
  Innfartsparkering:
    type: string
    enum:
      - IKKE_VALGT
      - JA
      - NEI
  Handhever:
    type: object
    properties:
      organisasjonsnummer:
        type: string
      navn:
        type: string
  Hendelse:
    type: object
    properties:
      id:
        type: integer
        format: int32
      hendelseTekst:
        type: string
      tidspunkt:
        type: string
        format: date-time
  ParkeringsomradeOppsummert:
    type: object
    properties:
      id:
        type: integer
        format: int64
      parkeringstilbyderNavn:
        type: string
      breddegrad:
        type: number
        format: double
      lengdegrad:
        type: number
        format: double
      deaktivert:
        $ref: '#/definitions/Deaktivert'
      versjonsnummer:
        type: integer
        format: int32
      navn:
        type: string
      adresse:
        type: string
      postnummer:
        type: string
      poststed:
        type: string
      aktiveringstidspunkt:
        type: string
        format: date-time