ry, $key ) use ( $address, $validation_util, $schema ) { switch ( $key ) { case 'country': $carry[ $key ] = wc_strtoupper( sanitize_text_field( wp_unslash( $address[ $key ] ) ) ); break; case 'state': $carry[ $key ] = $validation_util->format_state( sanitize_text_field( wp_unslash( $address[ $key ] ) ), $address['country'] ); break; case 'postcode': $carry[ $key ] = $address['postcode'] ? wc_format_postcode( sanitize_text_field( wp_unslash( $address['postcode'] ) ), $address['country'] ) : ''; break; default: $carry[ $key ] = rest_sanitize_value_from_schema( wp_unslash( $address[ $key ] ), $schema[ $key ], $key ); break; } if ( $this->additional_fields_controller->is_field( $key ) ) { $carry[ $key ] = $this->additional_fields_controller->sanitize_field( $key, $carry[ $key ] ); } return $carry; }, [] ); return $sanitization_util->wp_kses_array( $address ); } /** * Validate the given address object. * * @see rest_validate_value_from_schema * * @param array $address Value being sanitized. * @param \WP_REST_Request $request The Request. * @param string $param The param being sanitized. * @return true|\WP_Error */ public function validate_callback( $address, $request, $param ) { $errors = new \WP_Error(); $address = (array) $address; $validation_util = new ValidationUtils(); $schema = $this->get_properties(); // Omit all keys from address that are not in the schema. This should account for email. $address = array_intersect_key( $address, $schema ); // The flow is Validate -> Sanitize -> Re-Validate // First validation step is to ensure fields match their schema, then we sanitize to put them in the // correct format, and finally the second validation step is to ensure the correctly-formatted values // match what we expect (postcode etc.). foreach ( $address as $key => $value ) { // Only run specific validation on properties that are defined in the schema and present in the address. // This is for partial address pushes when only part of a customer address is sent. // Full schema address validation still happens later, so empty, required values are disallowed. if ( empty( $schema[ $key ] ) || empty( $address[ $key ] ) ) { continue; } if ( is_wp_error( rest_validate_value_from_schema( $value, $schema[ $key ], $key ) ) ) { $errors->add( 'invalid_' . $key, sprintf( /* translators: %s: field name */ __( 'Invalid %s provided.', 'woocommerce' ), $key ) ); } } // This condition will be true if any validation errors were encountered, e.g. wrong type supplied or invalid // option in enum fields. if ( $errors->has_errors() ) { return $errors; } $address = $this->sanitize_callback( $address, $request, $param ); if ( ! empty( $address['country'] ) && ! in_array( $address['country'], array_keys( wc()->countries->get_countries() ), true ) ) { $errors->add( 'invalid_country', sprintf( /* translators: %s valid country codes */ __( 'Invalid country code provided. Must be one of: %s', 'woocommerce' ), implode( ', ', array_keys( wc()->countries->get_countries() ) ) ) ); return $errors; } if ( ! empty( $address['state'] ) && ! $validation_util->validate_state( $address['state'], $address['country'] ) ) { $errors->add( 'invalid_state', sprintf( /* translators: %1$s given state, %2$s valid states */ __( 'The provided state (%1$s) is not valid. Must be one of: %2$s', 'woocommerce' ), esc_html( $address['state'] ), implode( ', ', array_keys( $validation_util->get_states_for_country( $address['country'] ) ) ) ) ); } if ( ! empty( $address['postcode'] ) && ! \WC_Validation::is_postcode( $address['postcode'], $address['country'] ) ) { $errors->add( 'invalid_postcode', __( 'The provided postcode / ZIP is not valid', 'woocommerce' ) ); } if ( ! empty( $address['phone'] ) ) { $address['phone'] = wc_sanitize_phone_number( $address['phone'] ); if ( ! \WC_Validation::is_phone( $address['phone'] ) ) { $errors->add( 'invalid_phone', __( 'The provided phone number is not valid', 'woocommerce' ) ); } } // Get additional field keys here as we need to know if they are present in the address for validation. $additional_keys = array_keys( $this->get_additional_address_fields_schema() ); foreach ( array_keys( $address ) as $key ) { // Skip email here it will be validated in BillingAddressSchema. if ( 'email' === $key ) { continue; } // Only run specific validation on properties that are defined in the schema and present in the address. // This is for partial address pushes when only part of a customer address is sent. // Full schema address validation still happens later, so empty, required values are disallowed. if ( empty( $schema[ $key ] ) || empty( $address[ $key ] ) ) { continue; } $field_schema = $schema[ $key ]; $field_value = isset( $address[ $key ] ) ? $address[ $key ] : null; $result = rest_validate_value_from_schema( $field_value, $field_schema, $key ); if ( is_wp_error( $result ) && $result->has_errors() ) { $errors->merge_from( $result ); } } return $errors->has_errors( $errors ) ? $errors : true; } /** * Get additional address fields schema. * * @return array */ protected function get_additional_address_fields_schema() { $additional_fields_keys = $this->additional_fields_controller->get_address_fields_keys(); $fields = $this->additional_fields_controller->get_additional_fields(); $address_fields = array_filter( $fields, function ( $key ) use ( $additional_fields_keys ) { return in_array( $key, $additional_fields_keys, true ); }, ARRAY_FILTER_USE_KEY ); $schema = []; foreach ( $address_fields as $key => $field ) { $field_schema = [ 'description' => $field['label'], 'type' => 'string', 'context' => [ 'view', 'edit' ], 'required' => $this->additional_fields_controller->is_conditional_field( $field ) ? false : $field['required'], ]; if ( 'select' === $field['type'] ) { $field_schema['enum'] = array_map( function ( $option ) { return $option['value']; }, $field['options'] ); } if ( 'checkbox' === $field['type'] ) { $field_schema['type'] = 'boolean'; } $schema[ $key ] = $field_schema; } return $schema; } } Home - Womens Beauty Care and Spa
  • Opening hours :
    Tuesday - Sunday, 9:30am - 9:30 pm , Monday is off
  • Address :
    Bannu Gul Beef pulao 1st floor office# 24 Abu Dhabi

Get Appointment

Beauty

Women's Personal Care

about
about Who We Are

Womens Personal Care And Beauty LLC

At Women's Personal Care LLC, we are dedicated to empowering women through high-quality, trusted personal care products designed to support health, beauty, and confidence. Our mission is to provide safe, effective, and thoughtfully crafted solutions that cater to the unique needs of every woman. From skincare and hygiene to wellness essentials, our products are made with care, using only the finest ingredients. We believe that every woman deserves to feel her best—inside and out.

  • Natural Beauty Salon
  • Professional Women Spa Service
read more
Features
Features What We Do

We provide Natural Skin Beauty
& Spa Services

Clinical Spa Services

Clinical Expertise With Natural Care

100% Toxin-Free Care

Pure, Safe And Natural

Organic And Pure Products

Bringing Nature's Goodness To You

No Side Affects

Ensuring Your Safety And Well-being
Features
Features
Works Portfolio

Our Latest Works

Booking

Working Hours

 Women's Personal Care and Beauty LLC welcomes you during our extended hours, offering exceptional service from morning to evening. We're here to pamper you with beauty and care six days a week. Please note, we take a restful break every Monday to serve you better.

  • Tue to Sun: 9:30 am — 9:30 pm
    We are closed on Monday

appointment
address

Contact us

Feel free to reach out to us for appointments, inquiries, or any assistance you need. Our friendly team is always ready to help you with the best beauty and care solutions. Contact us today and let us bring out your natural glow!

  • Location

    Bannu Gul Beef Polao 1st Floor Office# 24 Abu Dhabi

  • Hotline

    Call : +971 54 462 5472

Call Us Now

Unwind and de-stress with our soothing full-body relaxing massage

read more
Category

Brow Polish

Quis autem velum reprender eoluptate velit esse

read more

Quis autem velum reprender eoluptate velit esse

read more

Quis autem velum reprender eoluptate velit esse

read more
Category

Cosmetics

Quis autem velum reprender eoluptate velit esse

read more
Blog News & Blog

Latest News & Blog

Benefits of Organic Facial Treatments in 2025
  • womenspersonalcarellc
  • No Comments

Benefits of Organic Facial Treatments in 2025

The beauty world in 2025 has shifted toward cleaner, more… Learn more

  • womenspersonalcarellc
  • 1 Comment

Hello world!

Welcome to WordPress. This is your first post. Edit or… Learn more

  • womenspersonalcarellc
  • 1 Comment

Hello world!

Welcome to WordPress. This is your first post. Edit or… Learn more

Get Appointment

Error: Contact form not found.