Herschel Science/Instrument Planning and Scheduling Jon Brumfitt, Herschel Science Centre, ESAC Herschel is a far-infrared and sub-millimetre space observatory with cryogenically cooled instruments. A single software system was designed to meet the needs of all mission phases from early instrument development to post-operations. This 'smooth transition' approach allowed the instruments to be developed with the real software, and vice versa. It allowed early detection of problems and avoided the need to build instrument simulators. A key component of this concept was the Herschel Common Uplink System (CUS) which commands the instruments. Instrument commanding is defined in a special scripting language, which supports both routine observing modes and one-off scripts for test/engineering purposes. This flexibility was particularly valuable during on-ground instrument tests and in-flight commissioning. The Herschel Scientific Mission Planning System is used to schedule scientific, calibration and engineering activities. Daily schedules are expanded into sequences of low-level instrument and spacecraft commands using the CUS. The software emphasises visualisation of the observations and their associated constraints, in both the spatial and temporal domains, so that the mission planner can visualise the planning task and produce efficient schedules. The system needed the flexibility to cope with operational contingencies, iteration with users, instrument commissioning and special scheduling constraints. The software enforces the constraints, slew times, etc. A long-term view (past and future) is provided by the Herschel Inspector and Long Term Scheduler. This assists long-term optimisation, provide statistics and helps to avoid duplicate science. The uplink system makes use of a Java flight dynamics and mission planning library. This was developed for Herschel but with reuse in mind. It was used for Planck and has subsequently found applications with other missions including Euclid.