Web service composition is an inevitable aspect of Web services technology, which solves complex problems by combining available basic services and ordering them to best suit the problem requirements. Automatic composition gives us flexibility of selecting best candidate services at composition time satisfying QoS requirements: this would require the user to define constraints for selecting and composing candidate Web services. In this work, a Web service composition approach is presented in which a rich set of constraints can be defined on the composite service. The output of the framework is the schedule of Web service composition in which how and when services are executed is defined. The basic properties of the proposed approach is converting Web service composition problem into a constraint satisfaction problem in order to find the best solution that meets all criteria defined by user and providing semantic compatibility and composability during composition. (C) 2009 Elsevier Ltd. All rights reserved.