{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/suomi-fi/json-schema/suomi-fi-service-response-schema.json",
  "title": "ServiceResponse",
  "description": "Service response",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/suomi-fi-ptv-openapi.yml#/components/schemas/ServiceResponse",
  "type": "object",
  "required": [
    "serviceType"
  ],
  "oneOf": [
    {
      "$ref": "#/$defs/ServiceTypeServiceResponse"
    },
    {
      "$ref": "#/$defs/ProfessionalQualificationServiceResponse"
    },
    {
      "$ref": "#/$defs/PermitOrOtherObligationServiceResponse"
    }
  ],
  "$defs": {
    "AreaTypesResponse": {
      "description": "One of area types",
      "type": "object",
      "required": [
        "areaType"
      ],
      "oneOf": [
        {
          "$ref": "#/$defs/WholeCountry"
        },
        {
          "$ref": "#/$defs/WholeCountryExceptAland"
        },
        {
          "$ref": "#/$defs/LimitedArea"
        }
      ],
      "title": "AreaTypesResponse"
    },
    "BaseServiceLanguageVersionResponse": {
      "type": "object",
      "required": [
        "name",
        "alternativeName",
        "summary",
        "description",
        "userInstructions",
        "conditions",
        "legislationLinks",
        "freelyAssignedKeywords",
        "voucher",
        "chargeTypeAdditionalInformation"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "alternativeName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "summary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "userInstructions": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "conditions": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "legislationLinks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LegislationLinkResponse"
          }
        },
        "freelyAssignedKeywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "voucher": {
          "$ref": "#/$defs/VoucherTypesResponse"
        },
        "chargeTypeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "description": "Base service language version response",
      "title": "BaseServiceLanguageVersionResponse"
    },
    "ContentIdType": {
      "type": "string",
      "format": "uuid",
      "description": "Content id type",
      "title": "ContentIdType"
    },
    "DateTime": {
      "type": "string",
      "format": "date-time",
      "description": "string, e.g. 2025-09-22T07:32:52.026Z",
      "title": "DateTime"
    },
    "LegislationLinkResponse": {
      "type": "object",
      "required": [
        "url",
        "name"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "title": "LegislationLinkResponse"
    },
    "LimitedArea": {
      "type": "object",
      "required": [
        "areaType",
        "municipalities",
        "regions",
        "wellbeingServicesCounties"
      ],
      "properties": {
        "areaType": {
          "type": "string",
          "title": "LimitedArea",
          "enum": [
            "LimitedArea"
          ]
        },
        "municipalities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "wellbeingServicesCounties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "title": "LimitedArea",
      "description": "Limited area"
    },
    "NotUsed": {
      "type": "object",
      "required": [
        "voucherType"
      ],
      "properties": {
        "voucherType": {
          "type": "string",
          "enum": [
            "NotUsed"
          ]
        }
      },
      "additionalProperties": false,
      "description": "Voucher is not in use",
      "title": "NotUsed"
    },
    "OtherProducerResponse": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "object",
          "properties": {
            "fi": {
              "type": "string"
            },
            "sv": {
              "type": "string"
            },
            "en": {
              "type": "string"
            },
            "se": {
              "type": "string"
            },
            "smn": {
              "type": "string"
            },
            "sms": {
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      },
      "description": "Other producer",
      "title": "OtherProducerResponse"
    },
    "PermitOrOtherObligationLanguageVersionsResponse": {
      "type": "object",
      "properties": {
        "fi": {
          "$ref": "#/$defs/PermitOrOtherObligationServiceLanguageVersionResponse"
        },
        "sv": {
          "$ref": "#/$defs/PermitOrOtherObligationServiceLanguageVersionResponse"
        },
        "en": {
          "$ref": "#/$defs/PermitOrOtherObligationServiceLanguageVersionResponse"
        },
        "se": {
          "$ref": "#/$defs/PermitOrOtherObligationServiceLanguageVersionResponse"
        },
        "smn": {
          "$ref": "#/$defs/PermitOrOtherObligationServiceLanguageVersionResponse"
        },
        "sms": {
          "$ref": "#/$defs/PermitOrOtherObligationServiceLanguageVersionResponse"
        }
      },
      "additionalProperties": false,
      "description": "Permit or other obligation language versions response",
      "title": "PermitOrOtherObligationLanguageVersionsResponse"
    },
    "PermitOrOtherObligationServiceLanguageVersionResponse": {
      "type": "object",
      "required": [
        "name",
        "alternativeName",
        "summary",
        "description",
        "userInstructions",
        "conditions",
        "legislationLinks",
        "freelyAssignedKeywords",
        "voucher",
        "chargeTypeAdditionalInformation",
        "processingTimeAdditionalInformation",
        "deadlineAdditionalInformation",
        "validityTimeAdditionalInformation"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "alternativeName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "summary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "userInstructions": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "conditions": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "legislationLinks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LegislationLinkResponse"
          }
        },
        "freelyAssignedKeywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "voucher": {
          "$ref": "#/$defs/VoucherTypesResponse"
        },
        "chargeTypeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "processingTimeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "deadlineAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "validityTimeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "description": "Permit or other obligation service language version response",
      "additionalProperties": false,
      "title": "PermitOrOtherObligationServiceLanguageVersionResponse"
    },
    "PermitOrOtherObligationServiceResponse": {
      "type": "object",
      "required": [
        "contentId",
        "organizationContentId",
        "generalDescriptionContentId",
        "targetGroups",
        "industrialClasses",
        "lifeEvents",
        "ontologyTerms",
        "serviceClasses",
        "producers",
        "otherResponsibleOrganizations",
        "chargeType",
        "fundingType",
        "serviceLanguages",
        "area",
        "publishedAt",
        "serviceType",
        "languageVersions"
      ],
      "properties": {
        "migratedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateTime"
            },
            {
              "type": "null"
            }
          ]
        },
        "contentId": {
          "$ref": "#/$defs/ContentIdType"
        },
        "organizationContentId": {
          "$ref": "#/$defs/ContentIdType"
        },
        "generalDescriptionContentId": {
          "anyOf": [
            {
              "$ref": "#/$defs/ContentIdType"
            },
            {
              "type": "null"
            }
          ]
        },
        "targetGroups": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "industrialClasses": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "lifeEvents": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "ontologyTerms": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "serviceClasses": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "producers": {
          "$ref": "#/$defs/ProducersResponse"
        },
        "otherResponsibleOrganizations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentIdType"
          }
        },
        "chargeType": {
          "anyOf": [
            {
              "$ref": "#/$defs/ServiceChargeType"
            },
            {
              "type": "null"
            }
          ]
        },
        "fundingType": {
          "anyOf": [
            {
              "$ref": "#/$defs/ServiceFundingType"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceLanguages": {
          "$ref": "#/$defs/ServiceLanguages"
        },
        "area": {
          "$ref": "#/$defs/AreaTypesResponse"
        },
        "publishedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateTime"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceType": {
          "type": "string",
          "enum": [
            "PermitOrOtherObligation"
          ]
        },
        "languageVersions": {
          "$ref": "#/$defs/PermitOrOtherObligationLanguageVersionsResponse"
        }
      },
      "additionalProperties": false,
      "title": "PermitOrOtherObligation",
      "description": "Permit or other obligation type service response"
    },
    "ProducerResponse": {
      "type": "object",
      "required": [
        "organizations",
        "other"
      ],
      "properties": {
        "organizations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentIdType"
          }
        },
        "other": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OtherProducerResponse"
          }
        }
      },
      "description": "Producer",
      "title": "ProducerResponse"
    },
    "ProducersResponse": {
      "type": "object",
      "required": [
        "selfProducedProducers",
        "procuredProducers",
        "otherProducers"
      ],
      "properties": {
        "selfProducedProducers": {
          "$ref": "#/$defs/SelfProducer"
        },
        "procuredProducers": {
          "$ref": "#/$defs/ProducerResponse"
        },
        "otherProducers": {
          "$ref": "#/$defs/ProducerResponse"
        }
      },
      "description": "Producers",
      "title": "ProducersResponse"
    },
    "ProfessionalQualificationServiceLanguageVersionResponse": {
      "type": "object",
      "required": [
        "name",
        "alternativeName",
        "summary",
        "description",
        "userInstructions",
        "conditions",
        "legislationLinks",
        "freelyAssignedKeywords",
        "voucher",
        "chargeTypeAdditionalInformation",
        "processingTimeAdditionalInformation",
        "deadlineAdditionalInformation",
        "validityTimeAdditionalInformation"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "alternativeName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "summary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "userInstructions": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "conditions": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "legislationLinks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LegislationLinkResponse"
          }
        },
        "freelyAssignedKeywords": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "voucher": {
          "$ref": "#/$defs/VoucherTypesResponse"
        },
        "chargeTypeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "processingTimeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "deadlineAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        },
        "validityTimeAdditionalInformation": {
          "anyOf": [
            {
              "type": "string",
              "description": "Markdown-formatted content. Use a Markdown parser/renderer when presenting it."
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "description": "Professional qualification service language version response",
      "additionalProperties": false,
      "title": "ProfessionalQualificationServiceLanguageVersionResponse"
    },
    "ProfessionalQualificationServiceResponse": {
      "type": "object",
      "required": [
        "contentId",
        "organizationContentId",
        "generalDescriptionContentId",
        "targetGroups",
        "industrialClasses",
        "lifeEvents",
        "ontologyTerms",
        "serviceClasses",
        "producers",
        "otherResponsibleOrganizations",
        "chargeType",
        "fundingType",
        "serviceLanguages",
        "area",
        "publishedAt",
        "serviceType",
        "languageVersions"
      ],
      "properties": {
        "migratedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateTime"
            },
            {
              "type": "null"
            }
          ]
        },
        "contentId": {
          "$ref": "#/$defs/ContentIdType"
        },
        "organizationContentId": {
          "$ref": "#/$defs/ContentIdType"
        },
        "generalDescriptionContentId": {
          "anyOf": [
            {
              "$ref": "#/$defs/ContentIdType"
            },
            {
              "type": "null"
            }
          ]
        },
        "targetGroups": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "industrialClasses": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "lifeEvents": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "ontologyTerms": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "serviceClasses": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "producers": {
          "$ref": "#/$defs/ProducersResponse"
        },
        "otherResponsibleOrganizations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentIdType"
          }
        },
        "chargeType": {
          "anyOf": [
            {
              "$ref": "#/$defs/ServiceChargeType"
            },
            {
              "type": "null"
            }
          ]
        },
        "fundingType": {
          "anyOf": [
            {
              "$ref": "#/$defs/ServiceFundingType"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceLanguages": {
          "$ref": "#/$defs/ServiceLanguages"
        },
        "area": {
          "$ref": "#/$defs/AreaTypesResponse"
        },
        "publishedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateTime"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceType": {
          "type": "string",
          "enum": [
            "ProfessionalQualification"
          ]
        },
        "languageVersions": {
          "$ref": "#/$defs/ProfessionalQualificationsLanguageVersionResponse"
        }
      },
      "additionalProperties": false,
      "title": "ProfessionalQualification",
      "description": "Professional qualification type service response"
    },
    "ProfessionalQualificationsLanguageVersionResponse": {
      "type": "object",
      "properties": {
        "fi": {
          "$ref": "#/$defs/ProfessionalQualificationServiceLanguageVersionResponse"
        },
        "sv": {
          "$ref": "#/$defs/ProfessionalQualificationServiceLanguageVersionResponse"
        },
        "en": {
          "$ref": "#/$defs/ProfessionalQualificationServiceLanguageVersionResponse"
        },
        "se": {
          "$ref": "#/$defs/ProfessionalQualificationServiceLanguageVersionResponse"
        },
        "smn": {
          "$ref": "#/$defs/ProfessionalQualificationServiceLanguageVersionResponse"
        },
        "sms": {
          "$ref": "#/$defs/ProfessionalQualificationServiceLanguageVersionResponse"
        }
      },
      "additionalProperties": false,
      "description": "Professional qualifications language version response",
      "title": "ProfessionalQualificationsLanguageVersionResponse"
    },
    "SelfProducer": {
      "type": "object",
      "required": [
        "organizations"
      ],
      "properties": {
        "organizations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentIdType"
          }
        }
      },
      "additionalProperties": false,
      "description": "Self producers",
      "title": "SelfProducer"
    },
    "ServiceChargeType": {
      "description": "Service charge type",
      "enum": [
        "Free",
        "Charged"
      ],
      "type": "string",
      "title": "ServiceChargeType"
    },
    "ServiceFundingType": {
      "description": "Service funding type",
      "enum": [
        "MarketFunded",
        "PubliclyFunded"
      ],
      "type": "string",
      "title": "ServiceFundingType"
    },
    "ServiceLanguage": {
      "description": "Service language",
      "enum": [
        "se",
        "smn",
        "sms",
        "hi",
        "ug",
        "he",
        "sgn-fi",
        "no",
        "lv",
        "da",
        "sw",
        "cs",
        "pl",
        "de",
        "ms",
        "ln",
        "sr",
        "is",
        "sh",
        "sk",
        "fr",
        "bs",
        "el",
        "am",
        "hr",
        "uz",
        "es",
        "ko",
        "ta",
        "hu",
        "ky",
        "rn",
        "kk",
        "kg",
        "fa",
        "et",
        "so",
        "th",
        "bn",
        "km",
        "tk",
        "wo",
        "ne",
        "ro",
        "sq",
        "it",
        "lo",
        "az",
        "rom",
        "tr",
        "id",
        "tl",
        "hy",
        "my",
        "mk",
        "zh",
        "rw",
        "uk",
        "ur",
        "ar",
        "ja",
        "ps",
        "ru",
        "sl",
        "vi",
        "lt",
        "ka",
        "ku",
        "bg",
        "nl",
        "pt",
        "fi",
        "sv",
        "en",
        "prs"
      ],
      "type": "string",
      "title": "ServiceLanguage"
    },
    "ServiceLanguages": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ServiceLanguage"
      },
      "description": "Service languages",
      "title": "ServiceLanguages"
    },
    "ServiceTypeServiceLanguageVersionsResponse": {
      "type": "object",
      "properties": {
        "fi": {
          "$ref": "#/$defs/BaseServiceLanguageVersionResponse"
        },
        "sv": {
          "$ref": "#/$defs/BaseServiceLanguageVersionResponse"
        },
        "en": {
          "$ref": "#/$defs/BaseServiceLanguageVersionResponse"
        },
        "se": {
          "$ref": "#/$defs/BaseServiceLanguageVersionResponse"
        },
        "smn": {
          "$ref": "#/$defs/BaseServiceLanguageVersionResponse"
        },
        "sms": {
          "$ref": "#/$defs/BaseServiceLanguageVersionResponse"
        }
      },
      "additionalProperties": false,
      "description": "Service type service language version response",
      "title": "ServiceTypeServiceLanguageVersionsResponse"
    },
    "ServiceTypeServiceResponse": {
      "type": "object",
      "required": [
        "contentId",
        "organizationContentId",
        "generalDescriptionContentId",
        "targetGroups",
        "industrialClasses",
        "lifeEvents",
        "ontologyTerms",
        "serviceClasses",
        "producers",
        "otherResponsibleOrganizations",
        "chargeType",
        "fundingType",
        "serviceLanguages",
        "area",
        "publishedAt",
        "serviceType",
        "languageVersions"
      ],
      "properties": {
        "migratedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateTime"
            },
            {
              "type": "null"
            }
          ]
        },
        "contentId": {
          "$ref": "#/$defs/ContentIdType"
        },
        "organizationContentId": {
          "$ref": "#/$defs/ContentIdType"
        },
        "generalDescriptionContentId": {
          "anyOf": [
            {
              "$ref": "#/$defs/ContentIdType"
            },
            {
              "type": "null"
            }
          ]
        },
        "targetGroups": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "industrialClasses": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "lifeEvents": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "ontologyTerms": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "serviceClasses": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^(?!\\.)[a-zA-Z0-9\\.]+(?<!\\.)$"
          }
        },
        "producers": {
          "$ref": "#/$defs/ProducersResponse"
        },
        "otherResponsibleOrganizations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentIdType"
          }
        },
        "chargeType": {
          "anyOf": [
            {
              "$ref": "#/$defs/ServiceChargeType"
            },
            {
              "type": "null"
            }
          ]
        },
        "fundingType": {
          "anyOf": [
            {
              "$ref": "#/$defs/ServiceFundingType"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceLanguages": {
          "$ref": "#/$defs/ServiceLanguages"
        },
        "area": {
          "$ref": "#/$defs/AreaTypesResponse"
        },
        "publishedAt": {
          "anyOf": [
            {
              "$ref": "#/$defs/DateTime"
            },
            {
              "type": "null"
            }
          ]
        },
        "serviceType": {
          "type": "string",
          "enum": [
            "Service"
          ]
        },
        "languageVersions": {
          "$ref": "#/$defs/ServiceTypeServiceLanguageVersionsResponse"
        }
      },
      "additionalProperties": false,
      "title": "Service",
      "description": "Service type service response"
    },
    "VoucherTypesResponse": {
      "type": "object",
      "required": [
        "voucherType"
      ],
      "oneOf": [
        {
          "$ref": "#/$defs/NotUsed"
        },
        {
          "$ref": "#/$defs/VoucherWithAdditionalInformationResponse"
        },
        {
          "$ref": "#/$defs/VoucherWithUrlResponse"
        }
      ],
      "title": "VoucherTypesResponse"
    },
    "VoucherWithAdditionalInformationResponse": {
      "type": "object",
      "required": [
        "voucherType",
        "additionalInformation"
      ],
      "properties": {
        "voucherType": {
          "type": "string",
          "enum": [
            "WithAdditionalInformation"
          ]
        },
        "additionalInformation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "title": "VoucherWithAdditionalInformationResponse"
    },
    "VoucherWithUrlResponse": {
      "type": "object",
      "required": [
        "voucherType",
        "urls"
      ],
      "properties": {
        "voucherType": {
          "type": "string",
          "enum": [
            "WithUrl"
          ]
        },
        "urls": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WebPageWithAdditionalInformationResponse"
          }
        }
      },
      "title": "VoucherWithUrlResponse"
    },
    "WebPageWithAdditionalInformationResponse": {
      "type": "object",
      "required": [
        "name",
        "url",
        "additionalInformation"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "additionalInformation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "description": "Web page with additional information",
      "title": "WebPageWithAdditionalInformationResponse"
    },
    "WholeCountry": {
      "type": "object",
      "required": [
        "areaType"
      ],
      "properties": {
        "areaType": {
          "type": "string",
          "title": "WholeCountry",
          "enum": [
            "WholeCountry"
          ]
        }
      },
      "additionalProperties": false,
      "title": "WholeCountry",
      "description": "Whole country"
    },
    "WholeCountryExceptAland": {
      "type": "object",
      "required": [
        "areaType"
      ],
      "properties": {
        "areaType": {
          "type": "string",
          "title": "WholeCountryExceptAland",
          "enum": [
            "WholeCountryExceptAland"
          ]
        }
      },
      "additionalProperties": false,
      "title": "WholeCountryExceptAland",
      "description": "Whole country except Åland"
    }
  }
}