holidays:
  # @source https://www.gov.uk/bank-holidays
  # @attrib https://en.wikipedia.org/wiki/Public_holidays_in_the_United_Kingdom
  GB:
    names:
      en: United Kingdom
    dayoff: sunday
    zones:
      - Europe/London
    langs:
      - en
    days:
      01-01:
        _name: 01-01
      substitutes 01-01 if sunday then next monday:
        substitute: true
        _name: 01-01
      substitutes 01-01 if saturday then next monday:
        substitute: true
        _name: 01-01
      easter -21:
        _name: Mothers Day
        type: observance
      easter -2:
        _name: easter -2
      easter:
        _name: easter
        type: observance
      easter 1:
        _name: easter 1
      1st monday in May:
        name:
          en: Early May bank holiday
        disable:
          - "2020-05-04"
      # applies to GG, JE, IM as well
      # @source https://www.itv.com/news/channel/2019-07-19/guernsey-will-have-a-bank-holiday-on-friday-8-may-2020/
      # @source https://www.itv.com/news/channel/2019-06-13/extra-bank-holiday-proposed-for-ve-day-75-in-jersey/
      1st monday before 06-01:
        name:
          en: Spring bank holiday
        disable:
          - "2022-05-30" # was moved to 2022-06-02
        enable:
          - "2022-06-02"
      12-25:
        _name: 12-25
      substitutes 12-25 if saturday then next monday if sunday then next tuesday:
        substitute: true
        _name: 12-25
      12-26:
        _name: 12-26
      substitutes 12-26 if saturday then next monday if sunday then next tuesday:
        substitute: true
        _name: 12-26
      "2012-06-05":
        name:
          en: Queen’s Diamond Jubilee
      "2020-05-08":
        name:
          en: Early May bank holiday (VE day)
      # @source https://www.gov.uk/government/news/extra-bank-holiday-to-mark-the-queens-platinum-jubilee-in-2022
      "2022-06-03":
        name:
          en: Queen’s Platinum Jubilee
      # @source https://www.gov.uk/government/news/bank-holiday-announced-for-her-majesty-queen-elizabeth-iis-state-funeral-on-monday-19-september
      # @source https://gov.gg/monarch
      "2022-09-19":
        name:
          en: Queen Elizabeth's Funeral Day
      # @source https://www.gov.uk/government/news/bank-holiday-proclaimed-in-honour-of-the-coronation-of-his-majesty-king-charles-iii
      "2023-05-08":
        name:
          en: King Charles III's Coronation
      3rd sunday in June:
        _name: Fathers Day
        type: observance
    states:
      ALD:
        name: Alderney
        zones:
          - Europe/Guernsey
        days:
          12-15:
            name:
              en: Homecoming Day
      ENG:
        name: England
        days:
          1st monday before 09-01:
            name:
              en: Summer bank holiday
        # regions:
        # BAS:
        #   name: Bath and North East Somerset
        # BBD:
        #   name: Blackburn with Darwen
        # BDF:
        #   name: Bedford
        # BDG:
        #   name: Barking and Dagenham
        # BEN:
        #   name: Brent
        # BEX:
        #   name: Bexley
        # BIR:
        #   name: Birmingham
        # BKM:
        #   name: Buckinghamshire
        # BMH:
        #   name: Bournemouth
        # BNE:
        #   name: Barnet
        # BNH:
        #   name: Brighton and Hove
        # BNS:
        #   name: Barnsley
        # BOL:
        #   name: Bolton
        # BPL:
        #   name: Blackpool
        # BRC:
        #   name: Bracknell Forest
        # BRD:
        #   name: Bradford
        # BRY:
        #   name: Bromley
        # BST:
        #   name: Bristol
        # BUR:
        #   name: Bury
        # CAM:
        #   name: Cambridgeshire
        # CBF:
        #   name: Central Bedfordshire
        # CHE:
        #   name: Cheshire East
        # CHW:
        #   name: Cheshire West and Chester
        # CLD:
        #   name: Calderdale
        # CMA:
        #   name: Cumbria
        # CMD:
        #   name: Camden
        # CON:
        #   name: Cornwall
        # COV:
        #   name: Coventry
        # CRY:
        #   name: Croydon
        # DAL:
        #   name: Darlington
        # DBY:
        #   name: Derbyshire
        # DER:
        #   name: Derby
        # DEV:
        #   name: Devon
        # DNC:
        #   name: Doncaster
        # DOR:
        #   name: Dorset
        # DUD:
        #   name: Dudley
        # DUR:
        #   name: Durham
        # EAL:
        #   name: Ealing
        # ENF:
        #   name: Enfield
        # ERY:
        #   name: East Riding of Yorkshire
        # ESS:
        #   name: Essex
        # ESX:
        #   name: East Sussex
        # GAT:
        #   name: Gateshead
        # GLS:
        #   name: Gloucestershire
        # GRE:
        #   name: Greenwich
        # HAL:
        #   name: Halton
        # HAM:
        #   name: Hampshire
        # HAV:
        #   name: Havering
        # HCK:
        #   name: Hackney
        # HEF:
        #   name: Herefordshire
        # HIL:
        #   name: Hillingdon
        # HMF:
        #   name: Hammersmith and Fulham
        # HNS:
        #   name: Hounslow
        # HPL:
        #   name: Hartlepool
        # HRT:
        #   name: Hertfordshire
        # HRW:
        #   name: Harrow
        # HRY:
        #   name: Haringey
        # IOS:
        #   name: Isles of Scilly
        # IOW:
        #   name: Isle of Wight
        # ISL:
        #   name: Islington
        # KEC:
        #   name: Kensington and Chelsea
        # KEN:
        #   name: Kent
        # KHL:
        #   name: Kingston upon Hull
        # KIR:
        #   name: Kirklees
        # KTT:
        #   name: Kingston upon Thames
        # KWL:
        #   name: Knowsley
        # LAN:
        #   name: Lancashire
        # LBH:
        #   name: Lambeth
        # LCE:
        #   name: Leicester
        # LDS:
        #   name: Leeds
        # LEC:
        #   name: Leicestershire
        # LEW:
        #   name: Lewisham
        # LIN:
        #   name: Lincolnshire
        # LIV:
        #   name: Liverpool
        # LND:
        #   name: London
        # LUT:
        #   name: Luton
        # MAN:
        #   name: Manchester
        # MDB:
        #   name: Middlesbrough
        # MDW:
        #   name: Medway
        # MIK:
        #   name: Milton Keynes
        # MRT:
        #   name: Merton
        # NBL:
        #   name: Northumberland
        # NEL:
        #   name: North East Lincolnshire
        # NET:
        #   name: Newcastle upon Tyne
        # NFK:
        #   name: Norfolk
        # NGM:
        #   name: Nottingham
        # NLN:
        #   name: North Lincolnshire
        # NSM:
        #   name: North Somerset
        # NTH:
        #   name: Northamptonshire
        # NTT:
        #   name: Nottinghamshire
        # NTY:
        #   name: North Tyneside
        # NWM:
        #   name: Newham
        # NYK:
        #   name: North Yorkshire
        # OLD:
        #   name: Oldham
        # OXF:
        #   name: Oxfordshire
        # PLY:
        #   name: Plymouth
        # POL:
        #   name: Poole
        # POR:
        #   name: Portsmouth
        # PTE:
        #   name: Peter
        # RCC:
        #   name: Redcar and Cleveland
        # RCH:
        #   name: Rochdale
        # RDB:
        #   name: Redbridge
        # RDG:
        #   name: Reading
        # RIC:
        #   name: Richmond upon Thames
        # ROT:
        #   name: Rotherham
        # RUT:
        #   name: Rutland
        # SAW:
        #   name: Sandwell
        # SFK:
        #   name: Suffolk
        # SFT:
        #   name: Sefton
        # SGC:
        #   name: South Gloucestershire
        # SHF:
        #   name: Sheffield
        # SHN:
        #   name: Saint Helens
        # SHR:
        #   name: Shropshire
        # SKP:
        #   name: Stockport
        # SLF:
        #   name: Salford
        # SLG:
        #   name: Slough
        # SND:
        #   name: Sunderland
        # SOL:
        #   name: Solihull
        # SOM:
        #   name: Somerset
        # SOS:
        #   name: Southend-on-Sea
        # SRY:
        #   name: Surrey
        # STE:
        #   name: Stoke-on-Trent
        # STH:
        #   name: Southampton
        # STN:
        #   name: Sutton
        # STS:
        #   name: Staffordshire
        # STT:
        #   name: Stockton-on-Tees
        # STY:
        #   name: South Tyneside
        # SWD:
        #   name: Swindon
        # SWK:
        #   name: Southwark
        # TAM:
        #   name: Tameside
        # TFW:
        #   name: Telford and Wrekin
        # THR:
        #   name: Thurrock
        # TOB:
        #   name: Torbay
        # TRF:
        #   name: Trafford
        # TWH:
        #   name: Tower Hamlets
        # WAR:
        #   name: Warwickshire
        # WBK:
        #   name: West Berkshire
        # WFT:
        #   name: Waltham Forest
        # WGN:
        #   name: Wigan
        # WIL:
        #   name: Wiltshire
        # WKF:
        #   name: Wakefield
        # WLL:
        #   name: Walsall
        # WLV:
        #   name: Wolverhampton
        # WND:
        #   name: Wandsworth
        # WNM:
        #   name: Windsor and Maidenhead
        # WOK:
        #   name: Wokingham
        # WOR:
        #   name: Worcestershire
        # WRL:
        #   name: Wirral
        # WRT:
        #   name: Warrington
        # WSM:
        #   name: Westminster
        # WSX:
        #   name: West Sussex
        # YOR:
        #   name: York
      NIR:
        name: Northern Ireland
        zones:
          - Europe/Belfast
        days:
          03-17:
            name:
              en: "St Patrick's Day"
          substitutes 03-17 if saturday then next monday:
            substitute: true
            name:
              en: "St Patrick's Day"
          substitutes 03-17 if sunday then next monday:
            substitute: true
            name:
              en: "St Patrick's Day"
          07-12:
            name:
              en: "Battle of the Boyne, Orangemen’s Day"
          substitutes 07-12 if saturday then next monday:
            substitute: true
            name:
              en: Battle of the Boyne
          substitutes 07-12 if sunday then next monday:
            substitute: true
            name:
              en: Battle of the Boyne
          1st monday before 09-01:
            name:
              en: Summer bank holiday
        # regions:
        # ABC:
        #   name: 'Armagh, Banbridge and Craigavon'
        # AND:
        #   name: Ards and North Down
        # ANN:
        #   name: Antrim and Newtownabbey
        # BFS:
        #   name: Belfast
        # CCG:
        #   name: Causeway Coast and Glens
        # DRS:
        #   name: Derry and Strabane
        # FMO:
        #   name: Fermanagh and Omagh
        # LBC:
        #   name: Lisburn and Castlereagh
        # MEA:
        #   name: Mid and East Antrim
        # MUL:
        #   name: Mid Ulster
        # NMD:
        #   name: 'Newry, Mourne and Down'
      SCT:
        name: Scotland
        days:
          substitutes 01-01 if sunday then next monday: false
          substitutes 01-01 if saturday then next monday: false
          substitutes 01-01 if saturday then next tuesday:
            substitute: true
            _name: 01-01
          substitutes 01-01 if sunday then next tuesday:
            substitute: true
            _name: 01-01
          01-02:
            name:
              en: January 2nd
          substitutes 01-02 if saturday then next monday:
            substitute: true
            name:
              en: January 2nd
          substitutes 01-02 if sunday then next monday:
            substitute: true
            name:
              en: January 2nd
          easter 1: false
          1st monday in August:
            name:
              en: Summer bank holiday
          11-30:
            name:
              en: St Andrew’s Day
          substitutes 11-30 if saturday, sunday then next monday:
            substitute: true
            name:
              en: St Andrew’s Day
        # regions:
        # ABD:
        #   name: Aberdeenshire
        # ABE:
        #   name: Aberdeen
        # AGB:
        #   name: Argyll and Bute
        # ANS:
        #   name: Angus
        # CLK:
        #   name: Clackmannanshire
        # DGY:
        #   name: Dumfries and Galloway
        # DND:
        #   name: Dundee
        # EAY:
        #   name: East Ayrshire
        # EDH:
        #   name: Edinburgh
        # EDU:
        #   name: East Dunbartonshire
        # ELN:
        #   name: East Lothian
        # ELS:
        #   name: Outer Hebrides
        # ERW:
        #   name: East Renfrewshire
        # FAL:
        #   name: Falkirk
        # FIF:
        #   name: Fife
        # GLG:
        #   name: Glasgow
        # HLD:
        #   name: Highland
        # IVC:
        #   name: Inverclyde
        # MLN:
        #   name: Midlothian
        # MRY:
        #   name: Moray
        # NAY:
        #   name: North Ayrshire
        # NLK:
        #   name: North Lanarkshire
        # ORK:
        #   name: Orkney Islands
        # PKN:
        #   name: Perth and Kinross
        # RFW:
        #   name: Renfrewshire
        # SAY:
        #   name: South Ayrshire
        # SCB:
        #   name: Scottish Borders
        # SLK:
        #   name: South Lanarkshire
        # STG:
        #   name: Stirling
        # WDU:
        #   name: West Dunbartonshire
        # WLN:
        #   name: West Lothian
        # ZET:
        #   name: Shetland
      WLS:
        name: Wales
        days:
          1st monday before 09-01:
            name:
              en: Summer bank holiday
        regions: {}
        # AGY:
        #   name: Anglesey
        # BGE:
        #   name: Bridgend
        # BGW:
        #   name: Blaenau Gwent
        # CAY:
        #   name: Caerphilly
        # CGN:
        #   name: Ceredigion
        # CMN:
        #   name: Carmarthenshire
        # CRF:
        #   name: Cardiff
        # CWY:
        #   name: Conwy
        # DEN:
        #   name: Denbighshire
        # FLN:
        #   name: Flintshire
        # GWN:
        #   name: Gwynedd
        # MON:
        #   name: Monmouthshire
        # MTY:
        #   name: Merthyr Tydfil
        # NTL:
        #   name: Neath Port Talbot
        # NWP:
        #   name: Newport
        # PEM:
        #   name: Pembrokeshire
        # POW:
        #   name: Powys
        # RCT:
        #   name: Rhondda Cynon Taf
        # SWA:
        #   name: Swansea
        # TOF:
        #   name: Torfaen
        # VGL:
        #   name: Vale of Glamorgan
        # WRX:
        #   name: Wrexham
