{
  "version": "xarts.concept-structures/1",
  "family": "concept-structures",
  "provenance": {
    "legacyId": "concept-bridge"
  },
  "measurement": {
    "exportText": "glyph-advances"
  },
  "typography": {
    "title": {
      "size": 22,
      "weight": 700,
      "lineHeight": 31
    },
    "hero": {
      "size": 49,
      "weight": 700,
      "lineHeight": 59
    },
    "body": {
      "size": 19,
      "weight": 700,
      "lineHeight": 28
    },
    "note": {
      "size": 16,
      "weight": 400,
      "lineHeight": 25
    },
    "stamp": {
      "size": 14,
      "weight": 700,
      "lineHeight": 22
    }
  },
  "paints": {
    "neutral": {
      "fill": "surface",
      "stroke": "border",
      "text": "textPrimary",
      "dash": ""
    },
    "focus": {
      "fill": "series.blue",
      "stroke": "series.blue",
      "text": "surface",
      "dash": ""
    },
    "warning": {
      "fill": "surface",
      "stroke": "negative",
      "text": "negative",
      "dash": ""
    },
    "absent": {
      "fill": "none",
      "stroke": "textMuted",
      "text": "textMuted",
      "dash": "6 4"
    },
    "favorable": {
      "fill": "surfaceAlt",
      "stroke": "series.teal",
      "text": "textPrimary",
      "dash": ""
    }
  },
  "layout": {
    "textOverflow": "wrap",
    "margin": {
      "top": 32,
      "right": 32,
      "bottom": 56,
      "left": 32
    },
    "grid": 8,
    "padding": {
      "x": 8,
      "y": 12
    },
    "radius": 4,
    "strokeWidth": 1.25,
    "minimumBoxWidth": 40,
    "roundHeight": "nearest",
    "capacity": "reject"
  },
  "annotations": {
    "band": {
      "text": "en ninguna reserva de hoy se enlaza al huésped con su estancia anterior",
      "role": "absent"
    },
    "verdict": "El puente llega hasta el motor propio: sin identidad única del huésped, los dos últimos tramos descansan sobre una pila que nadie ha construido.",
    "bandHeight": 72,
    "verdictHeight": 48,
    "bandStroke": 4,
    "ruleWidth": 1.25,
    "noteColor": "textMuted",
    "verdictColor": "accent",
    "letterSpacing": 0.06
  },
  "document": {
    "header": {
      "title": "El puente al canal directo se corta en la pila del medio",
      "subtitle": "Cuatro tramos entre la reserva que trae la agencia y la que traemos nosotros; la pila que sostiene el paso al alta de socio no está construida"
    },
    "footer": {
      "source": "xarts · ejemplo de demostración",
      "notes": "Esquema ilustrativo para explorar la forma y sustituirlo por el propio."
    },
    "spacing": {
      "horizontalPadding": 24,
      "topPadding": 22,
      "bottomPadding": 16,
      "minimumTextGap": 4
    }
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 940,
      "height": 1225
    },
    "locale": "es-ES",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "output": {
    "filename": "concept-bridge",
    "embedSpec": true,
    "geometryDecimals": 2
  },
  "operation": "supported-crossing",
  "data": {
    "items": [
      {
        "id": "crossing-0",
        "part": "state",
        "label": "Canal de agencia",
        "detail": "71 de cada 100 noches llegan por una OTA",
        "role": "neutral"
      },
      {
        "id": "crossing-1",
        "part": "state",
        "label": "Canal propio",
        "detail": "el huésped reserva y vuelve sin nadie en medio",
        "role": "favorable"
      },
      {
        "id": "crossing-2",
        "part": "stage",
        "label": "Precio a la par",
        "detail": "la web deja de ser la más cara",
        "role": "neutral"
      },
      {
        "id": "crossing-3",
        "part": "stage",
        "label": "Motor propio",
        "detail": "el pago no salta de dominio",
        "role": "neutral"
      },
      {
        "id": "crossing-4",
        "part": "stage",
        "label": "Alta de socio",
        "detail": "tarifa cerrada a cambio del correo",
        "role": "neutral"
      },
      {
        "id": "crossing-5",
        "part": "stage",
        "label": "Vuelta directa",
        "detail": "sin comisión y sin campaña",
        "role": "neutral"
      },
      {
        "id": "crossing-6",
        "part": "enabler",
        "label": "Vigilancia diaria",
        "detail": "un robot compara los cinco escaparates",
        "role": "neutral"
      },
      {
        "id": "crossing-7",
        "part": "enabler",
        "label": "Identidad única",
        "detail": "nadie la ha construido: el PMS y el motor no se hablan",
        "role": "absent"
      },
      {
        "id": "crossing-8",
        "part": "enabler",
        "label": "Tarifa de socio",
        "detail": "el precio sale del motor, no de una hoja",
        "role": "neutral"
      }
    ]
  },
  "relationship": {
    "kind": "ordered-enablers",
    "order": [
      "crossing-0",
      "crossing-1",
      "crossing-2",
      "crossing-3",
      "crossing-4",
      "crossing-5",
      "crossing-6",
      "crossing-7",
      "crossing-8"
    ],
    "startId": "crossing-0",
    "endId": "crossing-1",
    "junctions": [
      {
        "fromId": "crossing-2",
        "toId": "crossing-3",
        "enablerId": "crossing-6"
      },
      {
        "fromId": "crossing-3",
        "toId": "crossing-4",
        "enablerId": "crossing-7"
      },
      {
        "fromId": "crossing-4",
        "toId": "crossing-5",
        "enablerId": "crossing-8"
      }
    ],
    "equalStages": true,
    "equalSupports": true
  },
  "bridge": {
    "joint": 8,
    "bankFraction": 0.14,
    "supportFraction": 0.26,
    "minimumSupportFraction": 0.42,
    "maximumSupportRatio": 1.5,
    "supportLabelFraction": 0.4,
    "minimumBankWidth": 64,
    "minimumStageWidth": 64,
    "minimumSupportWidth": 16,
    "minimumSupportHeight": 84,
    "bankMaxLines": 3,
    "bankDetailMaxLines": 7,
    "stageMaxLines": 2,
    "stageDetailMaxLines": 3,
    "supportMaxLines": 2,
    "supportDetailMaxLines": 4,
    "startLabel": "de dónde se sale",
    "endLabel": "adónde se llega",
    "directionArrow": true,
    "notice": "los tramos se dibujan iguales: el ancho no mide ni plazo ni esfuerzo",
    "detailGap": 8,
    "absentSetback": 2,
    "bedColor": "border",
    "bedHeight": 4,
    "stampSpacing": 0.06,
    "arrowLength": 9,
    "arrowHeight": 8,
    "footerGap": 24,
    "bandVerdictGap": 12,
    "verdictMaxLines": 20,
    "verdictLineHeight": 31,
    "footerOffsets": {
      "band": 30,
      "verdict": 33
    },
    "textLayout": "numbered-register",
    "registry": {
      "startLabel": "Origen",
      "endLabel": "Destino",
      "stageLabel": "Tramo",
      "enablerLabel": "Apoyo",
      "rowGap": 16,
      "detailGap": 8,
      "diagramGap": 24,
      "boardHeight": 56,
      "supportLabelHeight": 40
    }
  }
}
