{"type":"object","properties":{"schemaVersion":{"const":2},"packId":{"type":"string"},"regionId":{"type":"string"},"timeZone":{"const":"America/Toronto"},"generatedAt":{"type":"string","format":"date-time"},"checkedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"coverage":{"type":"object","properties":{"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"},"sourceStartDate":{"type":"string","format":"date"},"sourceEndDate":{"type":"string","format":"date"},"complete":{"const":true},"walkLinksCompleteThroughMetres":{"type":"number","minimum":0},"minimumTransferSeconds":{"type":"number","minimum":0},"transferRulesComplete":{"const":true}},"required":["startDate","endDate","sourceStartDate","sourceEndDate","complete","walkLinksCompleteThroughMetres","minimumTransferSeconds","transferRulesComplete"],"additionalProperties":true},"feedVersions":{"type":"array","items":{"type":"object","properties":{"operatorId":{"type":"string","enum":["oc_transpo","sto"]},"feedVersionId":{"type":"string"},"sourceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sourceUrl":{"type":"string"},"acquiredAt":{"type":"string","format":"date-time"},"attribution":{"type":"string"},"modificationNotice":{"type":"string"},"rights":{"oneOf":[{"type":"object","properties":{"state":{"const":"approved"},"evidenceRef":{"type":"string"}},"required":["state","evidenceRef"],"additionalProperties":true},{"type":"object","properties":{"state":{"const":"unverified"}},"required":["state"],"additionalProperties":true}]},"serviceStartDate":{"type":"string","format":"date"},"serviceEndDate":{"type":"string","format":"date"}},"required":["operatorId","feedVersionId","sourceSha256","sourceUrl","acquiredAt","attribution","modificationNotice","rights","serviceStartDate","serviceEndDate"],"additionalProperties":true}},"stops":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"feedVersionId":{"type":"string"},"name":{"type":"string"},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"boardingAccessibility":{"type":"string","enum":["step_free","not_step_free","unknown"]}},"required":["id","name","latitude","longitude","boardingAccessibility"],"additionalProperties":true}},"places":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"outboundStopLinks":{"type":"array","items":{"type":"object","properties":{"stopId":{"type":"string"},"durationSeconds":{"type":"integer","minimum":0},"distanceMetres":{"type":"number","minimum":0},"accessibility":{"type":"string","enum":["step_free","not_step_free","unknown"]}},"required":["stopId","durationSeconds","distanceMetres","accessibility"],"additionalProperties":true}},"inboundStopLinks":{"type":"array","items":{"type":"object","properties":{"stopId":{"type":"string"},"durationSeconds":{"type":"integer","minimum":0},"distanceMetres":{"type":"number","minimum":0},"accessibility":{"type":"string","enum":["step_free","not_step_free","unknown"]}},"required":["stopId","durationSeconds","distanceMetres","accessibility"],"additionalProperties":true}}},"required":["id","latitude","longitude","outboundStopLinks","inboundStopLinks"],"additionalProperties":true}},"routes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"operatorId":{"type":"string","enum":["oc_transpo","sto"]},"feedVersionId":{"type":"string"},"label":{"type":"string"}},"required":["id","operatorId","feedVersionId","label"],"additionalProperties":true}},"services":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"feedVersionId":{"type":"string"},"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"},"weekdays":{"type":"array","items":{"type":"boolean"},"minItems":7,"maxItems":7},"exceptions":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"action":{"type":"string","enum":["add","remove"]}},"required":["date","action"],"additionalProperties":true}}},"required":["id","startDate","endDate","weekdays","exceptions"],"additionalProperties":true}},"transfers":{"type":"array","items":{"type":"object","properties":{"stopId":{"type":"string"},"durationSeconds":{"type":"integer","minimum":0},"distanceMetres":{"type":"number","minimum":0},"accessibility":{"type":"string","enum":["step_free","not_step_free","unknown"]},"fromStopId":{"type":"string"}},"required":["stopId","durationSeconds","distanceMetres","accessibility","fromStopId"],"additionalProperties":true}},"transferRules":{"type":"array","items":{"type":"object","properties":{"fromStopId":{"type":"string"},"toStopId":{"type":"string"},"fromRouteId":{"type":"string"},"toRouteId":{"type":"string"},"kind":{"type":"string","enum":["forbidden","minimum"]},"minimumSeconds":{"type":"number","minimum":0}},"required":["fromStopId","toStopId","kind"],"additionalProperties":true}},"frequency":{"oneOf":[{"type":"object","properties":{"state":{"const":"absent"}},"required":["state"],"additionalProperties":true},{"type":"object","properties":{"state":{"const":"unsupported"},"affectedTripIds":{"type":"array","items":{"type":"string"}}},"required":["state","affectedTripIds"],"additionalProperties":true}]},"continuousService":{"oneOf":[{"type":"object","properties":{"state":{"const":"absent"}},"required":["state"],"additionalProperties":true},{"type":"object","properties":{"state":{"const":"unsupported"},"affectedRouteIds":{"type":"array","items":{"type":"string"}}},"required":["state","affectedRouteIds"],"additionalProperties":true}]},"shards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byteLength":{"type":"integer","minimum":0},"tripCount":{"type":"integer","minimum":0},"stopTimeCount":{"type":"integer","minimum":0}},"required":["id","sha256","byteLength","tripCount","stopTimeCount"],"additionalProperties":true}},"totals":{"type":"object","properties":{"tripCount":{"type":"integer","minimum":0},"stopTimeCount":{"type":"integer","minimum":0}},"required":["tripCount","stopTimeCount"],"additionalProperties":true},"integrity":{"type":"object","properties":{"algorithm":{"const":"SHA-256"},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["algorithm","digest"],"additionalProperties":true}},"additionalProperties":true,"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://otranspo.ca/schemas/public-api/v1/offline-pack-manifest","title":"offline-pack-manifest response schema","x-api-version":"1.0.0"}