{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Esquema JSON IDP ANH - Versión 3.5 Estricta",
  "type": "object",
  "required": [
    "metadatos_archivo",
    "segmento_datos_operador",
    "segmento_datos"
  ],
  "properties": {
    "metadatos_archivo": {
      "type": "object",
      "required": [
        "titulo",
        "version",
        "fecha_publicacion",
        "tipo_json",
        "fuente_de_entrega",
        "tipo_envio"
      ],
      "additionalProperties": false,
      "properties": {
        "titulo": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "fecha_publicacion": {
          "type": "string",
          "format": "date"
        },
        "tipo_json": {
          "type": "string",
          "enum": [
            "U"
          ]
        },
        "fuente_de_entrega": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "TELEMETRÍA",
              "OFICIAL",
              "POR DEMANDA"
            ]
          }
        },
        "tipo_envio": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "PROGRAMADO",
              "EXTEMPORANEO",
              "CORRECCION"
            ]
          }
        }
      }
    },
    "segmento_datos_operador": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "datos_operador_contrato": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "operador",
              "f_operacional",
              "f_carga",
              "contrato",
              "usuario"
            ],
            "additionalProperties": false,
            "properties": {
              "operador": {
                "$ref": "#/definitions/tuplaString"
              },
              "f_operacional": {
                "$ref": "#/definitions/tuplaDate"
              },
              "f_carga": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "contrato": {
                "$ref": "#/definitions/tuplaString"
              },
              "usuario": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        },
        "datos_facilidad": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_fac",
              "tip_fac",
              "edo_fac",
              "campo",
              "prod",
              "pmo",
              "id_mun",
              "mun",
              "id_dep",
              "dep"
            ],
            "additionalProperties": false,
            "properties": {
              "n_fac": {
                "$ref": "#/definitions/tuplaString"
              },
              "tip_fac": {
                "$ref": "#/definitions/tuplaString"
              },
              "edo_fac": {
                "$ref": "#/definitions/tuplaString"
              },
              "campo": {
                "$ref": "#/definitions/tuplaString"
              },
              "prod": {
                "$ref": "#/definitions/tuplaString"
              },
              "pmo": {
                "$ref": "#/definitions/tuplaBoolean"
              },
              "id_mun": {
                "$ref": "#/definitions/tuplaInteger"
              },
              "mun": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_dep": {
                "$ref": "#/definitions/tuplaInteger"
              },
              "dep": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        }
      }
    },
    "segmento_datos": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tanques": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_tk",
              "id_rec",
              "h_med",
              "nft",
              "tov",
              "nal",
              "fwv",
              "gov",
              "api_lab",
              "temp_lab",
              "api_60",
              "tct",
              "temp_amb",
              "ctl",
              "ctsh",
              "gsv",
              "bsw",
              "csw",
              "nsv",
              "wv",
              "c_azufre",
              "c_sal"
            ],
            "additionalProperties": false,
            "properties": {
              "n_tk": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "h_med": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "nft": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tov": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nal": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "fwv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gov": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "api_lab": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "temp_lab": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "api_60": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tct": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "temp_amb": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ctl": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ctsh": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gsv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "bsw": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "csw": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nsv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "wv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c_azufre": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c_sal": {
                "$ref": "#/definitions/tuplaNumber"
              }
            }
          }
        },
        "movimientos_tanque": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_tk",
              "id_rec",
              "h_ini",
              "h_fin",
              "t_mov",
              "tov_med_inic",
              "tov_med_fin",
              "tov_aforo",
              "nal_med_ini",
              "nal_med_fin",
              "fwv_afo",
              "gov",
              "api_obs",
              "tco",
              "api_60",
              "temp_tk",
              "temp_amb",
              "ctl",
              "cpl",
              "frc",
              "gsv",
              "bsw",
              "factor_bsw",
              "nsv",
              "wv",
              "desp_cru",
              "rec_cru",
              "desp_agua",
              "rec_agua",
              "consumo",
              "rec_ext_cru",
              "tras_entre_cru",
              "tras_entre_agua",
              "tras_rec_cru",
              "tras_rec_agua",
              "comentario"
            ],
            "additionalProperties": false,
            "properties": {
              "n_tk": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "h_ini": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "h_fin": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "t_mov": {
                "$ref": "#/definitions/tuplaString"
              },
              "tov_med_inic": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tov_med_fin": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tov_aforo": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nal_med_ini": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nal_med_fin": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "fwv_afo": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gov": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "api_obs": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tco": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "api_60": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "temp_tk": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "temp_amb": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ctl": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "cpl": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "frc": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gsv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "bsw": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "factor_bsw": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nsv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "wv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "desp_cru": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "rec_cru": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "desp_agua": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "rec_agua": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "consumo": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "rec_ext_cru": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tras_entre_cru": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tras_entre_agua": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tras_rec_cru": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tras_rec_agua": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "comentario": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        },
        "medidores_liquidos": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_med",
              "id_rec",
              "h_med",
              "t_med_liq",
              "gsv",
              "api_60",
              "bsw",
              "temp_fluy",
              "pres_flu",
              "nsv",
              "wv",
              "comentario"
            ],
            "additionalProperties": false,
            "properties": {
              "n_med": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "h_med": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "t_med_liq": {
                "$ref": "#/definitions/tuplaString"
              },
              "gsv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "api_60": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "bsw": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "temp_fluy": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "pres_flu": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nsv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "wv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "comentario": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        },
        "medidor_gas": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_med",
              "id_rec",
              "h_med",
              "vol",
              "t_med_gas",
              "comentario",
              "presion",
              "f_instan_dia",
              "f_instan_hora",
              "temp"
            ],
            "additionalProperties": false,
            "properties": {
              "n_med": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "h_med": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "vol": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "t_med_gas": {
                "$ref": "#/definitions/tuplaString"
              },
              "comentario": {
                "$ref": "#/definitions/tuplaString"
              },
              "presion": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "f_instan_dia": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "f_instan_hora": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "temp": {
                "$ref": "#/definitions/tuplaNumber"
              }
            }
          }
        },
        "pruebas_potenciales": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_pozo",
              "id_rec",
              "uwi",
              "form",
              "campo",
              "id_laboratorio",
              "h_pbas",
              "prod_oil",
              "prod_gas",
              "prod_agua",
              "cond",
              "bipd_dato",
              "frec",
              "pip",
              "i_m",
              "long_stroke",
              "posicion_val_choque",
              "thp",
              "chp",
              "pres_anu_rev",
              "tht",
              "api_60",
              "gor",
              "bsw"
            ],
            "additionalProperties": false,
            "properties": {
              "n_pozo": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "uwi": {
                "$ref": "#/definitions/tuplaString"
              },
              "form": {
                "$ref": "#/definitions/tuplaString"
              },
              "campo": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_laboratorio": {
                "$ref": "#/definitions/tuplaString"
              },
              "h_pbas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "prod_oil": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "prod_gas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "prod_agua": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "cond": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "bipd_dato": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "frec": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "pip": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "i_m": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "long_stroke": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "posicion_val_choque": {
                "$ref": "#/definitions/tuplaInteger"
              },
              "thp": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "chp": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "pres_anu_rev": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "tht": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "api_60": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gor": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "bsw": {
                "$ref": "#/definitions/tuplaNumber"
              }
            }
          }
        },
        "paradas_pozo": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_pozo",
              "id_rec",
              "uwi",
              "form",
              "campo",
              "pla_no_plan",
              "h_ini_paro",
              "h_fin_paro",
              "cau_gral_paro",
              "dif_perd",
              "resp_par",
              "choke_mod",
              "cau_niv1",
              "cau_niv2",
              "desc_evid"
            ],
            "additionalProperties": false,
            "properties": {
              "n_pozo": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "uwi": {
                "$ref": "#/definitions/tuplaString"
              },
              "form": {
                "$ref": "#/definitions/tuplaString"
              },
              "campo": {
                "$ref": "#/definitions/tuplaString"
              },
              "pla_no_plan": {
                "$ref": "#/definitions/tuplaString"
              },
              "h_ini_paro": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "h_fin_paro": {
                "$ref": "#/definitions/tuplaDateTime"
              },
              "cau_gral_paro": {
                "$ref": "#/definitions/tuplaString"
              },
              "dif_perd": {
                "$ref": "#/definitions/tuplaString"
              },
              "resp_par": {
                "$ref": "#/definitions/tuplaString"
              },
              "choke_mod": {
                "$ref": "#/definitions/tuplaString"
              },
              "cau_niv1": {
                "$ref": "#/definitions/tuplaString"
              },
              "cau_niv2": {
                "$ref": "#/definitions/tuplaString"
              },
              "desc_evid": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        },
        "inyeccion_por_pozo": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_pozo",
              "id_rec",
              "form",
              "campo",
              "t_iny",
              "t_fluid_iny",
              "vol_iny",
              "pres_iny",
              "obs"
            ],
            "additionalProperties": false,
            "properties": {
              "n_pozo": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "form": {
                "$ref": "#/definitions/tuplaString"
              },
              "campo": {
                "$ref": "#/definitions/tuplaString"
              },
              "t_iny": {
                "$ref": "#/definitions/tuplaTime"
              },
              "t_fluid_iny": {
                "$ref": "#/definitions/tuplaString"
              },
              "vol_iny": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "pres_iny": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "obs": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        },
        "produccion_por_pozo": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "n_pozo",
              "id_rec",
              "uwi",
              "form",
              "campo",
              "tip_lev",
              "t_prod",
              "prd_oil",
              "prd_gas",
              "prd_agua",
              "cond",
              "observaciones"
            ],
            "additionalProperties": false,
            "properties": {
              "n_pozo": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "uwi": {
                "$ref": "#/definitions/tuplaString"
              },
              "form": {
                "$ref": "#/definitions/tuplaString"
              },
              "campo": {
                "$ref": "#/definitions/tuplaString"
              },
              "tip_lev": {
                "$ref": "#/definitions/tuplaString"
              },
              "t_prod": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "prd_oil": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "prd_gas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "prd_agua": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "cond": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "observaciones": {
                "$ref": "#/definitions/tuplaString"
              }
            }
          }
        },
        "cromatografia": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "fecha_muestreo",
              "tip_muest",
              "tipo_analis",
              "tipo_prod",
              "contrato",
              "campo",
              "fac",
              "id_laboratorio",
              "comentario",
              "sg",
              "peso_mol",
              "z",
              "igcv",
              "lhv",
              "rgcv",
              "dens_id",
              "dens_real",
              "wi",
              "num_metano",
              "gpm_c2",
              "gpm_c3",
              "gpm_c4",
              "gpm_c5",
              "co2",
              "n2",
              "c1",
              "c2",
              "c3",
              "ic4",
              "nc4",
              "ic5",
              "nc5",
              "c6",
              "c7",
              "c8",
              "c9",
              "c10",
              "c11",
              "c12",
              "total_comp",
              "o2",
              "ts",
              "h2s",
              "hum",
              "hcdp",
              "pres_hcdp",
              "est_crom"
            ],
            "additionalProperties": false,
            "properties": {
              "fecha_muestreo": {
                "$ref": "#/definitions/tuplaDate"
              },
              "tip_muest": {
                "$ref": "#/definitions/tuplaString"
              },
              "tipo_analis": {
                "$ref": "#/definitions/tuplaString"
              },
              "tipo_prod": {
                "$ref": "#/definitions/tuplaString"
              },
              "contrato": {
                "$ref": "#/definitions/tuplaString"
              },
              "campo": {
                "$ref": "#/definitions/tuplaString"
              },
              "fac": {
                "$ref": "#/definitions/tuplaString"
              },
              "id_laboratorio": {
                "$ref": "#/definitions/tuplaString"
              },
              "comentario": {
                "$ref": "#/definitions/tuplaString"
              },
              "sg": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "peso_mol": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "z": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "igcv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "lhv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "rgcv": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "dens_id": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "dens_real": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "wi": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "num_metano": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gpm_c2": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gpm_c3": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gpm_c4": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gpm_c5": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "co2": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "n2": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c1": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c2": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c3": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ic4": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nc4": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ic5": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "nc5": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c6": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c7": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c8": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c9": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c10": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c11": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "c12": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "total_comp": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "o2": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ts": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "h2s": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "hum": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "hcdp": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "pres_hcdp": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "est_crom": {
                "$ref": "#/definitions/tuplaBoolean"
              }
            }
          }
        },
        "balance_fluido_crudo": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id_rec",
              "inventario_inicial",
              "produccion",
              "entregas",
              "consumo",
              "perdidas",
              "transferencia",
              "devolucion",
              "recibos",
              "ventas",
              "crudo_recuperado",
              "otros",
              "inventario_final",
              "balance"
            ],
            "additionalProperties": false,
            "properties": {
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "inventario_inicial": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "produccion": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "entregas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "consumo": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "perdidas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "transferencia": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "devolucion": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "recibos": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ventas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "crudo_recuperado": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "otros": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "inventario_final": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "balance": {
                "$ref": "#/definitions/tuplaNumber"
              }
            }
          }
        },
        "balance_fluido_agua": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id_rec",
              "inventario_inicial",
              "produccion",
              "entregas",
              "consumo",
              "perdidas",
              "transferencia",
              "devolucion",
              "recibos",
              "otros",
              "inventario_final",
              "balance"
            ],
            "additionalProperties": false,
            "properties": {
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "inventario_inicial": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "produccion": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "entregas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "consumo": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "perdidas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "transferencia": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "devolucion": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "recibos": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "otros": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "inventario_final": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "balance": {
                "$ref": "#/definitions/tuplaNumber"
              }
            }
          }
        },
        "balance_fluido_blancos": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id_rec",
              "propano",
              "butano",
              "gasolina",
              "nafta",
              "glp",
              "gasolina_natural"
            ],
            "additionalProperties": false,
            "properties": {
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "propano": {
                "$ref": "#/definitions/subObjetoBalanceBlancos"
              },
              "butano": {
                "$ref": "#/definitions/subObjetoBalanceBlancos"
              },
              "gasolina": {
                "$ref": "#/definitions/subObjetoBalanceBlancos"
              },
              "nafta": {
                "$ref": "#/definitions/subObjetoBalanceBlancos"
              },
              "glp": {
                "$ref": "#/definitions/subObjetoBalanceBlancos"
              },
              "gasolina_natural": {
                "$ref": "#/definitions/subObjetoBalanceBlancos"
              }
            }
          }
        },
        "balance_fluido_gas": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id_rec",
              "produccion",
              "consumido",
              "quemado",
              "ventas",
              "inyectado",
              "generacion_electrica",
              "urbano",
              "transformado",
              "gas_lift",
              "enviado_planta",
              "entregas",
              "recibos",
              "balance"
            ],
            "additionalProperties": false,
            "properties": {
              "id_rec": {
                "$ref": "#/definitions/tuplaString"
              },
              "produccion": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "consumido": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "quemado": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "ventas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "inyectado": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "generacion_electrica": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "urbano": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "transformado": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "gas_lift": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "enviado_planta": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "entregas": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "recibos": {
                "$ref": "#/definitions/tuplaNumber"
              },
              "balance": {
                "$ref": "#/definitions/tuplaNumber"
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "tuplaString": {
      "type": "array",
      "items": [
        {
          "type": "string"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            "Fijo",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "tuplaNumber": {
      "type": "array",
      "items": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "tuplaInteger": {
      "type": "array",
      "items": [
        {
          "type": "integer"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "tuplaBoolean": {
      "type": "array",
      "items": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "tuplaDate": {
      "type": "array",
      "items": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "tuplaDateTime": {
      "type": "array",
      "items": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "tuplaTime": {
      "type": "array",
      "items": [
        {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):?([0-5]\\d)$"
        },
        {
          "type": "string",
          "enum": [
            "A",
            "M",
            "C",
            ""
          ]
        },
        {
          "type": "string"
        }
      ],
      "minItems": 3,
      "maxItems": 3
    },
    "subObjetoBalanceBlancos": {
      "type": "object",
      "required": [
        "inventario_inicial",
        "produccion",
        "entregas",
        "consumo",
        "perdidas",
        "transferencia",
        "devolucion",
        "recibos",
        "ventas",
        "otros",
        "inventario_final",
        "balance"
      ],
      "additionalProperties": false,
      "properties": {
        "inventario_inicial": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "produccion": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "entregas": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "consumo": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "perdidas": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "transferencia": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "devolucion": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "recibos": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "ventas": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "otros": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "inventario_final": {
          "$ref": "#/definitions/tuplaNumber"
        },
        "balance": {
          "$ref": "#/definitions/tuplaNumber"
        }
      }
    }
  }
}