Automattic\WooCommerce\Admin\Features\Blueprint\Steps

SetWCShipping::get_schema()public staticWC 1.0

Get the schema for the step.

Method of the class: SetWCShipping{}

No Hooks.

Return

Array. The schema array.

Usage

$result = SetWCShipping::get_schema( $version ): array;
$version(int)
Optional version number of the schema.
Default: 1

SetWCShipping::get_schema() code WC 9.7.1

public static function get_schema( $version = 1 ): array {
	return array(
		'type'       => 'object',
		'properties' => array(
			'step'   => array(
				'type' => 'string',
				'enum' => array( static::get_step_name() ),
			),
			'values' => array(
				'type'       => 'object',
				'properties' => array(
					'classes'            => array(
						'type'  => 'array',
						'items' => array(
							'type'       => 'object',
							'properties' => array(
								'term_taxonomy_id' => array( 'type' => 'string' ),
								'term_id'          => array( 'type' => 'string' ),
								'taxonomy'         => array( 'type' => 'string' ),
								'description'      => array( 'type' => 'string' ),
								'parent'           => array( 'type' => 'string' ),
								'count'            => array( 'type' => 'string' ),
							),
							'required'   => array( 'term_taxonomy_id', 'term_id', 'taxonomy', 'description', 'parent', 'count' ),
						),
					),
					'terms'              => array(
						'type'  => 'array',
						'items' => array(
							'type'       => 'object',
							'properties' => array(
								'term_id'    => array( 'type' => 'string' ),
								'name'       => array( 'type' => 'string' ),
								'slug'       => array( 'type' => 'string' ),
								'term_group' => array( 'type' => 'string' ),
							),
							'required'   => array( 'term_id', 'name', 'slug', 'term_group' ),
						),
					),
					'local_pickup'       => array(
						'type'       => 'object',
						'properties' => array(
							'general'   => array(
								'type'       => 'object',
								'properties' => array(
									'enabled'    => array( 'type' => 'string' ),
									'title'      => array( 'type' => 'string' ),
									'tax_status' => array( 'type' => 'string' ),
									'cost'       => array( 'type' => 'string' ),
								),
							),
							'locations' => array(
								'type'  => 'array',
								'items' => array(
									'type'       => 'object',
									'properties' => array(
										'name'    => array( 'type' => 'string' ),
										'address' => array(
											'type' => 'object',
											'properties' => array(
												'address_1' => array( 'type' => 'string' ),
												'city' => array( 'type' => 'string' ),
												'state' => array( 'type' => 'string' ),
												'postcode' => array( 'type' => 'string' ),
												'country' => array( 'type' => 'string' ),
											),
										),
										'details' => array( 'type' => 'string' ),
										'enabled' => array( 'type' => 'boolean' ),
									),
								),
							),
						),
					),
					'shipping_methods'   => array(
						'type'  => 'array',
						'items' => array(
							'type'       => 'object',
							'properties' => array(
								'zone_id'      => array( 'type' => 'string' ),
								'instance_id'  => array( 'type' => 'string' ),
								'method_id'    => array( 'type' => 'string' ),
								'method_order' => array( 'type' => 'string' ),
								'is_enabled'   => array( 'type' => 'string' ),
							),
							'required'   => array( 'zone_id', 'instance_id', 'method_id', 'method_order', 'is_enabled' ),
						),
					),
					'shipping_locations' => array(
						'type'  => 'array',
						'items' => array(
							'type'       => 'object',
							'properties' => array(
								'location_id'   => array( 'type' => 'string' ),
								'zone_id'       => array( 'type' => 'string' ),
								'location_code' => array( 'type' => 'string' ),
								'location_type' => array( 'type' => 'string' ),
							),
							'required'   => array( 'location_id', 'zone_id', 'location_code', 'location_type' ),
						),
					),
					'shipping_zones'     => array(
						'type'  => 'array',
						'items' => array(
							'type'       => 'object',
							'properties' => array(
								'zone_id'    => array( 'type' => 'string' ),
								'zone_name'  => array( 'type' => 'string' ),
								'zone_order' => array( 'type' => 'string' ),
							),
							'required'   => array( 'zone_id', 'zone_name', 'zone_order' ),
						),
					),
				),
			),
		),
		'required'   => array( 'step', 'values' ),
	);
}