Roof take-offs, weather windows, building regs and storm triage for UK roofers' AI assistants
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
England and Wales. Says whether a roofing job is notifiable to building control (re-covering 25% or more of a roof, a change of covering, structural work, rooflights, dormers, solar, new roofs), whether Part L wants the whole roof insulated (England: more than 50% of the roof or more than 25% of the whole envelope renovated, target 0.16 W/m2K from Approved Document L; Wales: over 25%), who signs it off (competent person scheme such as CompetentRoofer, or building control), and flags for listed buildings, conservation areas, Article 4, flats, bats and asbestos. Each answer cites the official source. Typical call: {"nation":"england","work_type":"re_cover_pitched","percent_of_roof":100,"insulation":"ceiling_level","competent_person_scheme_member":true}.
Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.
Default england.
Where the roof insulation is or will be.
Default dwelling.
Share of this roof's area being stripped, re-covered or repaired, 0 to 100. Needed for re-covering and repairs.
For the asbestos flag.
Optional: share of the whole building envelope (walls, roof, floor) being renovated, for the major renovation test.
Will the roof look noticeably different?
Is the roofer registered with a roofing competent person scheme (for example CompetentRoofer)?
How much heavier (+) or lighter (-) the new covering is, percent.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http ridge-pack https://ridge-pack.nerolabs.workers.dev/mcp
England and Wales. Says whether a roofing job is notifiable to building control (re-covering 25% or more of a roof, a change of covering, structural work, rooflights, dormers, solar, new roofs), whether Part L wants the whole roof insulated (England: more than 50% of the roof or more than 25% of the whole envelope renovated, target 0.16 W/m2K from Approved Document L; Wales: over 25%), who signs it off (competent person scheme such as CompetentRoofer, or building control), and flags for listed buildings, conservation areas, Article 4, flats, bats and asbestos. Each answer cites the official source. Typical call: {"nation":"england","work_type":"re_cover_pitched","percent_of_roof":100,"insulation":"ceiling_level","competent_person_scheme_member":true}.
| Argument | Type | Description |
|---|---|---|
| trade | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
| nation | string | Default england. |
| work_type* | string | |
| insulation | string | Where the roof insulation is or will be. |
| building_use | string | Default dwelling. |
| listed_building | boolean | |
| percent_of_roof | number | Share of this roof's area being stripped, re-covered or repaired, 0 to 100. Needed for re-covering and repairs. |
| built_before_2000 | boolean | For the asbestos flag. |
| conservation_area | boolean | |
| flat_or_maisonette | boolean | |
| article_4_direction | boolean | |
| fire_performance_changes | boolean | |
| percent_of_whole_envelope | number | Optional: share of the whole building envelope (walls, roof, floor) being renovated, for the major renovation test. |
| changes_external_appearance | boolean | Will the roof look noticeably different? |
| competent_person_scheme_member | boolean | Is the roofer registered with a roofing competent person scheme (for example CompetentRoofer)? |
| new_covering_weight_change_percent | number | How much heavier (+) or lighter (-) the new covering is, percent. |
{
"type": "object",
"required": [
"work_type"
],
"properties": {
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
},
"nation": {
"enum": [
"england",
"wales"
],
"type": "string",
"description": "Default england."
},
"work_type": {
"enum": [
"re_cover_pitched",
"flat_roof_re_cover",
"repair_like_for_like",
"change_covering_material",
"structural_alteration",
"rooflight_or_roof_window",
"dormer_or_loft_conversion",
"solar_on_roof",
"new_roof_or_extension"
],
"type": "string"
},
"insulation": {
"enum": [
"ceiling_level",
"rafter_level",
"flat_roof_integral",
"none_or_unknown"
],
"type": "string",
"description": "Where the roof insulation is or will be."
},
"building_use": {
"enum": [
"dwelling",
"non_dwelling"
],
"type": "string",
"description": "Default dwelling."
},
"listed_building": {
"type": "boolean"
},
"percent_of_roof": {
"type": "number",
"description": "Share of this roof's area being stripped, re-covered or repaired, 0 to 100. Needed for re-covering and repairs."
},
"built_before_2000": {
"type": "boolean",
"description": "For the asbestos flag."
},
"conservation_area": {
"type": "boolean"
},
"flat_or_maisonette": {
"type": "boolean"
},
"article_4_direction": {
"type": "boolean"
},
"fire_performance_changes": {
"type": "boolean"
},
"percent_of_whole_envelope": {
"type": "number",
"description": "Optional: share of the whole building envelope (walls, roof, floor) being renovated, for the major renovation test."
},
"changes_external_appearance": {
"type": "boolean",
"description": "Will the roof look noticeably different?"
},
"competent_person_scheme_member": {
"type": "boolean",
"description": "Is the roofer registered with a roofing competent person scheme (for example CompetentRoofer)?"
},
"new_covering_weight_change_percent": {
"type": "number",
"description": "How much heavier (+) or lighter (-) the new covering is, percent."
}
},
"additionalProperties": false
}Checks a roof covering type against the pitch, the headlap and the batten gauge: is the pitch below the typical minimum for that kind of tile or slate, is the headlap enough for the exposure, does the gauge leave the headlap you want. Returns overall (ok_subject_to_maker_data, check_with_maker or fail), each check with its working, and what to confirm. Indicative: always confirm against the maker's data for the exact product. Pass maker_min_pitch_deg and maker_min_headlap_mm from the data sheet to check against those instead. Typical call: {"covering":"natural_slate","pitch_deg":25,"headlap_mm":75,"exposure":"severe"}.
| Argument | Type | Description |
|---|---|---|
| trade | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
| covering* | string | Roof covering. concrete_interlocking: Concrete interlocking tile (large format); clay_interlocking: Clay interlocking tile; clay_pantile: Clay pantile (traditional); plain_tile: Plain tile, clay or concrete (265 x 165 mm); natural_slate: Natural slate (500 x 250 mm default); fibre_cement_slate: Fibre cement slate (600 x 300 mm default). |
| exposure | string | Exposure to wind-driven rain. Default moderate. |
| gauge_mm | number | Batten gauge planned, mm. |
| pitch_deg* | number | Rafter pitch in degrees. |
Lists Ridge Pack's tools, what it covers (nations, roof shapes, coverings, job types) and what it deliberately does not do. Free, needs no input.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Works out a pitched roof's slope area, rafter length, ridge, hips, eaves and verges from the plan size and pitch, then a materials list: tiles or slates, battens, underlay rolls, ridge and hip tiles, hip irons, valleys, nails, eaves trays, ventilation and dry verge units, with waste. Every step of the working is shown. Geometry is exact; quantities resting on product figures are indicative unless you pass the maker's gauge, cover width and headlap. Run complex roofs one section at a time. Typical call: a 10 x 8 m gable roof at 35 degrees in concrete interlocking tiles: {"shape":"gable","plan_length_m":10,"plan_width_m":8,"pitch_deg":35,"covering":"concrete_interlocking"}.
| Argument | Type | Description |
|---|---|---|
| shape* | string | gable (two slopes, ridge along plan_length_m), hipped (four slopes, same pitch all round), mono_pitch (one slope rising across plan_width_m). |
| trade | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
| covering* | string | Roof covering. concrete_interlocking: Concrete interlocking tile (large format); clay_interlocking: Clay interlocking tile; clay_pantile: Clay pantile (traditional); plain_tile: Plain tile, clay or concrete (265 x 165 mm); natural_slate: Natural slate (500 x 250 mm default); fibre_cement_slate: Fibre cement slate (600 x 300 mm default). |
| gauge_mm | number | Batten gauge, mm, if already set (otherwise worked out from length and headlap). |
Triage for storm damage and roof leaks. Gives an urgency of routine, soon or emergency (the same three speeds as Nero Work) with the reasons, safe first steps for the homeowner (no climbing, electrics, bulging ceilings, gas, falling debris, insurer), the temporary cover the roofer should use for each problem (tarpaulin battened over the ridge, tile clips, tingles, flashing tape, cold patch), what to photograph, and a Nero Work job title. Typical call: {"symptoms":["water_coming_through_ceiling","tiles_or_slates_missing"],"missing_count":12,"more_bad_weather_within_24h":true}.
| Argument | Type | Description |
|---|---|---|
| trade | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
| symptoms* | array | What the homeowner sees. |
| smell_gas | boolean | |
| raining_now | boolean | |
| missing_count | number | Roughly how many tiles or slates are missing. |
| public_path_or_road_below | boolean | |
| vulnerable_people_in_home | boolean |
Checks the roofer's own business details (Nero Trade Profile v1: trading name, Companies House number, competent person scheme and number, postcode, contact) and returns them cleaned, with a stable `nero_trade_ref` computed from the scheme registration or company number. Pass the same object as `trade` to any other tool. Ridge Pack stores nothing. The same profile and reference can later be used to sign the business into Nero Work, the agent job exchange for trades.
| Argument | Type | Description |
|---|---|---|
| trade* | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
{
"type": "object",
"required": [
"trade"
],
"properties": {
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
}
},
"additionalProperties": false
}Gets the hourly forecast for a UK postcode (today and up to 8 days ahead, from MET Norway) and checks each working hour against wind, gusts, rain, frost and the material's limits for the job type (tiling, membranes and sheets, torch-on, liquid coatings, EPDM adhesive, mortar bedding, lead work, inspection). Returns each day as good, caution or no_go with good hours, the best window, max gust in mph and the reasons, plus the limits used. Limits are Ridge Pack's cautious defaults (HSE sets no single wind speed) and can be overridden. Typical call: {"postcode":"BS1 4DJ","job_type":"membrane_or_sheets","start_date":"2026-11-16","end_date":"2026-11-20"}.
| Argument | Type | Description |
|---|---|---|
| trade | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
| limits | object | Optional overrides. |
| end_date | string | Last day, YYYY-MM-DD, at most 8 days after today. Default start + 6 days. |
| end_hour | number | End of the working day, 1 to 23. Default 17. |
| job_type | string | What is being done. Default tiling_slating. |
| postcode* | string | Full UK postcode of the job. |
Builds the working at height and scaffold checklist for a roofing job (hierarchy of controls, scaffold to TG20 with guardrails, 7-day inspections, ladders only for short work, roof ladders, flat roof edges, fragile surfaces, power lines, highway licences, hot works, asbestos, rescue), the CDM 2015 duties (construction phase plan, domestic client, F10 notification test), a scored risk register (likelihood x severity) and a short risk note ready to print. From the Work at Height Regulations 2005, CDM 2015 and free HSE guidance. Typical call: {"job_type":"re_roof","eaves_height_m":5.5,"pitch_deg":35,"duration_days":5,"workers":3,"access":"scaffold","next_to_public_highway":true}.
| Argument | Type | Description |
|---|---|---|
| trade | object | Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack. |
| access | string | Planned access. Default none_yet. |
| workers | number | Most people on site at once. Default 2. |
| job_type* | string | |
| hot_works | boolean | Torch-on felt or other hot works. |
| pitch_deg | number | Roof pitch, degrees (0 for flat). |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.
| headlap_mm | number | Headlap planned, mm. |
| tile_length_mm | number | Unit length, mm (to check the gauge). |
| maker_min_pitch_deg | number | Minimum pitch from the maker's data sheet, if known. |
| maker_min_headlap_mm | number | Minimum headlap from the maker's data sheet, if known. |
{
"type": "object",
"required": [
"covering",
"pitch_deg"
],
"properties": {
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
},
"covering": {
"enum": [
"concrete_interlocking",
"clay_interlocking",
"clay_pantile",
"plain_tile",
"natural_slate",
"fibre_cement_slate"
],
"type": "string",
"description": "Roof covering. concrete_interlocking: Concrete interlocking tile (large format); clay_interlocking: Clay interlocking tile; clay_pantile: Clay pantile (traditional); plain_tile: Plain tile, clay or concrete (265 x 165 mm); natural_slate: Natural slate (500 x 250 mm default); fibre_cement_slate: Fibre cement slate (600 x 300 mm default)."
},
"exposure": {
"enum": [
"sheltered",
"moderate",
"severe"
],
"type": "string",
"description": "Exposure to wind-driven rain. Default moderate."
},
"gauge_mm": {
"type": "number",
"description": "Batten gauge planned, mm."
},
"pitch_deg": {
"type": "number",
"description": "Rafter pitch in degrees."
},
"headlap_mm": {
"type": "number",
"description": "Headlap planned, mm."
},
"tile_length_mm": {
"type": "number",
"description": "Unit length, mm (to check the gauge)."
},
"maker_min_pitch_deg": {
"type": "number",
"description": "Minimum pitch from the maker's data sheet, if known."
},
"maker_min_headlap_mm": {
"type": "number",
"description": "Minimum headlap from the maker's data sheet, if known."
}
},
"additionalProperties": false
}| pitch_deg* | number | Rafter pitch in degrees (10 to 75). |
| headlap_mm | number | Headlap, mm. |
| plan_width_m* | number | Span from eaves wall to eaves wall, metres (before overhangs). For mono pitch, low wall to high wall. |
| plan_length_m* | number | Wall plate length along the ridge, metres (outside of walls, before overhangs). |
| waste_percent | number | Waste on the covering. Default 5 (gable, mono) or 10 (hips or valleys). |
| cover_width_mm | number | Maker's cover width per unit, mm. |
| tile_length_mm | number | Maker's tile or slate length, mm (overrides the typical figure). |
| eaves_overhang_m | number | Horizontal eaves overhang, metres. Default 0.3. |
| membrane_roll_m2 | number | Underlay roll size, m2. Default 50. |
| valley_lengths_m | array | True length of each valley, metres, as measured. |
| verge_overhang_m | number | Verge overhang at gable ends, metres. Default 0.05. |
| rafter_centres_mm | number | Rafter or truss centres for batten nails. Default 400. |
| extra_hip_lengths_m | array | True length of any extra hips (for example on an L-shaped roof), metres. |
| ridge_tile_cover_mm | number | Effective cover of one ridge or hip tile, mm. Default 400. |
{
"type": "object",
"required": [
"shape",
"plan_length_m",
"plan_width_m",
"pitch_deg",
"covering"
],
"properties": {
"shape": {
"enum": [
"gable",
"hipped",
"mono_pitch"
],
"type": "string",
"description": "gable (two slopes, ridge along plan_length_m), hipped (four slopes, same pitch all round), mono_pitch (one slope rising across plan_width_m)."
},
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
},
"covering": {
"enum": [
"concrete_interlocking",
"clay_interlocking",
"clay_pantile",
"plain_tile",
"natural_slate",
"fibre_cement_slate"
],
"type": "string",
"description": "Roof covering. concrete_interlocking: Concrete interlocking tile (large format); clay_interlocking: Clay interlocking tile; clay_pantile: Clay pantile (traditional); plain_tile: Plain tile, clay or concrete (265 x 165 mm); natural_slate: Natural slate (500 x 250 mm default); fibre_cement_slate: Fibre cement slate (600 x 300 mm default)."
},
"gauge_mm": {
"type": "number",
"description": "Batten gauge, mm, if already set (otherwise worked out from length and headlap)."
},
"pitch_deg": {
"type": "number",
"description": "Rafter pitch in degrees (10 to 75)."
},
"headlap_mm": {
"type": "number",
"description": "Headlap, mm."
},
"plan_width_m": {
"type": "number",
"description": "Span from eaves wall to eaves wall, metres (before overhangs). For mono pitch, low wall to high wall."
},
"plan_length_m": {
"type": "number",
"description": "Wall plate length along the ridge, metres (outside of walls, before overhangs)."
},
"waste_percent": {
"type": "number",
"description": "Waste on the covering. Default 5 (gable, mono) or 10 (hips or valleys)."
},
"cover_width_mm": {
"type": "number",
"description": "Maker's cover width per unit, mm."
},
"tile_length_mm": {
"type": "number",
"description": "Maker's tile or slate length, mm (overrides the typical figure)."
},
"eaves_overhang_m": {
"type": "number",
"description": "Horizontal eaves overhang, metres. Default 0.3."
},
"membrane_roll_m2": {
"type": "number",
"description": "Underlay roll size, m2. Default 50."
},
"valley_lengths_m": {
"type": "array",
"items": {
"type": "number"
},
"description": "True length of each valley, metres, as measured."
},
"verge_overhang_m": {
"type": "number",
"description": "Verge overhang at gable ends, metres. Default 0.05."
},
"rafter_centres_mm": {
"type": "number",
"description": "Rafter or truss centres for batten nails. Default 400."
},
"extra_hip_lengths_m": {
"type": "array",
"items": {
"type": "number"
},
"description": "True length of any extra hips (for example on an L-shaped roof), metres."
},
"ridge_tile_cover_mm": {
"type": "number",
"description": "Effective cover of one ridge or hip tile, mm. Default 400."
}
},
"additionalProperties": false
}| Elderly, disabled, very young or unwell people living there. |
| more_bad_weather_within_24h | boolean |
{
"type": "object",
"required": [
"symptoms"
],
"properties": {
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
},
"symptoms": {
"type": "array",
"items": {
"enum": [
"water_coming_through_ceiling",
"ceiling_bulging_or_sagging",
"water_near_electrics",
"roof_sagging_or_structural",
"chimney_damaged_or_leaning",
"tree_or_debris_on_roof",
"tiles_or_slates_missing",
"tiles_or_slates_slipped",
"ridge_or_hip_loose",
"flashing_lifted",
"felt_or_membrane_flapping",
"flat_roof_torn_or_blistered",
"skylight_or_roof_window_leaking",
"gutter_loose_or_hanging",
"gutter_overflowing",
"flat_roof_ponding",
"old_damp_patch_or_stain"
],
"type": "string"
},
"description": "What the homeowner sees."
},
"smell_gas": {
"type": "boolean"
},
"raining_now": {
"type": "boolean"
},
"missing_count": {
"type": "number",
"description": "Roughly how many tiles or slates are missing."
},
"public_path_or_road_below": {
"type": "boolean"
},
"vulnerable_people_in_home": {
"type": "boolean",
"description": "Elderly, disabled, very young or unwell people living there."
},
"more_bad_weather_within_24h": {
"type": "boolean"
}
},
"additionalProperties": false
}| start_date |
| string |
| First day, YYYY-MM-DD. Default today. |
| start_hour | number | Start of the working day, 0 to 22 (UK time). Default 8. |
{
"type": "object",
"required": [
"postcode"
],
"properties": {
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
},
"limits": {
"type": "object",
"properties": {
"min_temp_c": {
"type": "number",
"description": "Material minimum temperature from the maker."
},
"stop_gust_mph": {
"type": "number"
},
"caution_gust_mph": {
"type": "number"
}
},
"description": "Optional overrides.",
"additionalProperties": false
},
"end_date": {
"type": "string",
"description": "Last day, YYYY-MM-DD, at most 8 days after today. Default start + 6 days."
},
"end_hour": {
"type": "number",
"description": "End of the working day, 1 to 23. Default 17."
},
"job_type": {
"enum": [
"tiling_slating",
"membrane_or_sheets",
"torch_on",
"liquid_coating",
"epdm_adhesive",
"mortar_bedding",
"lead_work",
"inspection"
],
"type": "string",
"description": "What is being done. Default tiling_slating."
},
"postcode": {
"type": "string",
"description": "Full UK postcode of the job."
},
"start_date": {
"type": "string",
"description": "First day, YYYY-MM-DD. Default today."
},
"start_hour": {
"type": "number",
"description": "Start of the working day, 0 to 22 (UK time). Default 8."
}
},
"additionalProperties": false
}| client_type |
| string |
| Default domestic. |
| site_address | string | Shown on the risk note. |
| duration_days | number | Working days on site. Default 1. |
| eaves_height_m* | number | Height to the eaves from the ground, metres. |
| contractor_name | string | Shown on the risk note. |
| fragile_surfaces | boolean | Rooflights, old cement sheets or other fragile materials on or near the work. |
| occupied_building | boolean |
| asbestos_suspected | boolean |
| overhead_power_lines | boolean |
| next_to_public_highway | boolean |
{
"type": "object",
"required": [
"job_type",
"eaves_height_m"
],
"properties": {
"trade": {
"type": "object",
"properties": {
"town": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"address": {
"type": "string",
"description": "Business address."
},
"postcode": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Trades offered. Defaults to [\"roofing\"]."
},
"company_name": {
"type": "string",
"description": "Registered company name, if a limited company."
},
"display_name": {
"type": "string",
"description": "Trading name shown to customers, for example \"Hilltop Roofing\"."
},
"licence_body": {
"enum": [
"competentroofer",
"nfrc",
"trustmark",
"certass",
"stroma",
"napit",
"niceic",
"mcs",
"other",
"none"
],
"type": "string",
"description": "Competent person scheme or trade body the business is registered with (CompetentRoofer is the roofing scheme run by the NFRC)."
},
"company_number": {
"type": "string",
"description": "Companies House number, for example 12345678 or SC123456."
},
"licence_number": {
"type": "string",
"description": "Scheme registration or enrolment number."
}
},
"description": "Optional. The roofer's own business details (Nero Trade Profile v1). Used to put the contractor on risk notes and to give a stable nero_trade_ref. Not stored by Ridge Pack.",
"additionalProperties": false
},
"access": {
"enum": [
"scaffold",
"mewp",
"tower",
"ladder",
"roof_ladder",
"none_yet"
],
"type": "string",
"description": "Planned access. Default none_yet."
},
"workers": {
"type": "number",
"description": "Most people on site at once. Default 2."
},
"job_type": {
"enum": [
"re_roof",
"repair",
"flat_roof",
"chimney",
"gutter_fascia_soffit",
"solar_install",
"inspection"
],
"type": "string"
},
"hot_works": {
"type": "boolean",
"description": "Torch-on felt or other hot works."
},
"pitch_deg": {
"type": "number",
"description": "Roof pitch, degrees (0 for flat)."
},
"client_type": {
"enum": [
"domestic",
"commercial"
],
"type": "string",
"description": "Default domestic."
},
"site_address": {
"type": "string",
"description": "Shown on the risk note."
},
"duration_days": {
"type": "number",
"description": "Working days on site. Default 1."
},
"eaves_height_m": {
"type": "number",
"description": "Height to the eaves from the ground, metres."
},
"contractor_name": {
"type": "string",
"description": "Shown on the risk note."
},
"fragile_surfaces": {
"type": "boolean",
"description": "Rooflights, old cement sheets or other fragile materials on or near the work."
},
"occupied_building": {
"type": "boolean"
},
"asbestos_suspected": {
"type": "boolean"
},
"overhead_power_lines": {
"type": "boolean"
},
"next_to_public_highway": {
"type": "boolean"
}
},
"additionalProperties": false
}