Public/Get-WaternetServiceStatus.ps1

function Get-WaternetServiceStatus
{
    [CmdletBinding(DefaultParameterSetName = '__Default')]
    param
    (
        [Parameter(Mandatory, Position = 0, ParameterSetName = 'ZipCode')]
        [string]$ZipCode,

        [Parameter(Mandatory, Position = 1, ParameterSetName = 'ZipCode')]
        [ValidateRange('Positive')]
        [decimal]$Distance
    )

    $DutchCulture = Get-Culture -Name 'nl-NL'

    $Result = Invoke-RestMethod "https://www.waternet.nl/nl/api/v1/storingen?zipcode=$($ZipCode)"
    | Select-Object -ExpandProperty Result

    if ($PSCmdlet.ParameterSetName -eq 'ZipCode')
    {
        $Result = $Result | Where-Object Distance -LE $Distance
    }

    $Result
    | ForEach-Object {
        [PSCustomObject]@{
            PSTypeName       = 'UncommonSense.ServiceStatus.WaternetServiceStatus'
            Type             = $_.type
            ID               = $_.id
            Title            = $_.title
            Description      = $_.description
            DateTimeReported = $_.dateTimeReported
            DateTimeResolved = [DateTime]::ParseExact($_.timeFixed, 'd MMMM yyyy HH:mm', $DutchCulture)
            Latitude         = $_.position.lat
            Longitude        = $_.position.lng
            Distance         = $_.distance
            Link             = $_.url
            Resolved         = $_.isSolved
        }
    }
}