{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-page-of-order-note-response-schema.json",
  "title": "PageOfOrderNoteResponse",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-order-note-partner-openapi.yml#/components/schemas/PageOfOrderNoteResponse",
  "required": [
    "items",
    "totalItems",
    "totalPages"
  ],
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/OrderNoteResponse"
      }
    },
    "totalPages": {
      "type": "integer",
      "format": "int32"
    },
    "totalItems": {
      "type": "integer",
      "format": "int64"
    }
  },
  "$defs": {
    "OrderNoteResponse": {
      "title": "OrderNoteResponse",
      "required": [
        "createdAt",
        "id",
        "orderId",
        "orderLineIds",
        "text",
        "type",
        "updatedAt"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "Id of the note",
          "format": "int64"
        },
        "orderId": {
          "maxLength": 8,
          "minLength": 8,
          "type": "string",
          "description": "Id of order the note refers to. Unique in combination with `type`."
        },
        "orderLineIds": {
          "type": "array",
          "description": "Specific order lines the order note is part of. If empty, the note belongs to the whole order.",
          "items": {
            "type": "string"
          }
        },
        "createdAt": {
          "type": "string",
          "description": "Timestamp for when the order-note was created.",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "description": "Timestamp for when the order-note was last updated.",
          "format": "date-time"
        },
        "text": {
          "type": "string",
          "description": "Contents of order-note. Usage is specific to `type`"
        },
        "type": {
          "$ref": "#/$defs/OrderNoteType"
        },
        "createdBy": {
          "type": "string",
          "description": "Identifying information about who created the note. Should adhere to the pattern 'system:identifer'. Due to this standard, the character ':' is not available for use in either system or identifier. See examples."
        },
        "updatedBy": {
          "type": "string",
          "description": "Identifying information about who most recently updated the note. Should adhere to the pattern 'system:identifer'. Due to this standard, the character ':' is not available for use in either system or identifier. See examples."
        }
      }
    },
    "OrderNoteType": {
      "type": "string",
      "description": "Type of Order Note. \n\nPENALTY_FARE - info used to generate penalty fare invoice \n\nZERO_TICKET - info regarding why zero ticket issued \n\nVENDOR_CONTACT_INFO_OVERRIDE - updated contact info for vendor eg. for group travel offer\n\nDEADLINE - deadline for changes to order eg. for group travel offer\n\nCUSTOMER_COMMUNICATION - note sent to customer, either manually or automated \n\nTERMS_AND_CONDITIONS - note relating to terms and conditions\n\nREFUND - note created as a part of refund process, either manually or automated \n\nGENERIC - note with additional order info \n\nUNKNOWN - untagged info ",
      "default": "UNKNOWN",
      "enum": [
        "PENALTY_FARE",
        "ZERO_TICKET",
        "VENDOR_CONTACT_INFO_OVERRIDE",
        "DEADLINE",
        "CUSTOMER_COMMUNICATION",
        "TERMS_AND_CONDITIONS",
        "REFUND",
        "GENERIC",
        "UNKNOWN"
      ]
    }
  }
}